League/CSVをダウンロードします。
composer require league/csv
そうすると、composer.jsonにこんなのが追記されます。
"league/csv": "^7.1"
あとは、該当のコントローラーで下記のように記載すればOK
// Writerのinclude
use League\Csv\Writer;
// 空のCSVオブジェクトを作成
$csv = Writer::createFromFileObject(new \SplTempFileObject());
// レコード追加
$csv->insertOne(array('id','name')); // これがheader行
$csv->insertOne(array('1','hoge'));
$csv->insertOne(array('2','hogemi'));
// CSVで保存(時間でファイルを作っています)
Storage::disk('local')->put(time().'.csv',$csv->__toString());
その他の関数等はこちらをご覧ください。
http://csv.thephpleague.com/