ふたりはララベル (Laravel PHP Framework)

PHPフレームワークのLaravelの体験記を書いていきます。こんなタイトルのブログですが萌え系アニメは一秒たりとも観たことがありません。

League/CsvをLaravelで使う

PHPCSVを扱うパッケージの「League/Csv」をLaravelで使用してみた。

インストール

composer.jsonのrequireに以下を追記して、composer updateする。

"league/csv": "~6.0"

CSVを読み込む

タブ区切りのCSVファイルを読み込んでみた。

<?php

use League\Csv\Reader;

class ListSeeder extends Seeder
{

    public function run()
    {

        $reader = Reader::createFromPath('./public/mylist.csv');

        $csvs = $reader->setDelimiter("\t")->fetchAssoc($reader->fetchOne());

        array_shift($csvs);
        
        foreach ($csvs as $csv) {

            Mylist::create($csv);
        }

    }
}

CSVの読み飛ばし行を指定できるoffsetメソッドもあるけど、連想配列を作るfetchAssocとは併用できない(バグ?)のでarray_shiftでごまかした。