Laravel Excel: вставить заголовок строки в базу данных - PullRequest
0 голосов
/ 21 января 2020

У меня есть такой файл Excel Файл Excel

Я хочу вставить в базу данных вот так Таблица базы данных

В Laravel Excel я использую ToCollection Вот так, но проблема заключается в перегрузке данных

public function collection(Collection $rows)
{
    for($k=1; $k<count($rows); $k++) {
        for($i=3; $i<count($rows[$k]); $i++)
        {

            if($rows[0][$i] != null){

                \App\Model\Admin\Data\Coa::firstOrCreate(
                    ['coa_id' => $rows[$k][0]],
                    ['keterangan' => ltrim($rows[$k][1])],
                );

                \App\Model\Admin\Data\Npbl::create([
                    'coa_id' => $rows[$k][0],
                    'tanggal' => \PhpOffice\PhpSpreadsheet\Shared\Date::excelToDateTimeObject($rows[$k][2]),
                    'cabang_id' => $rows[0][$i],
                    'nominal' => $rows[$k][$i],
                ]);
            }

        }
    }
}

И этот метод дампа данных ToCollection: Метод ToCollection Dump Data

но я хочу используйте метод ToModel, потому что есть хорошее и более быстрое управление памятью с WithBatchInserts, WithChunkReading, . Как мне написать код для этого метода?

...