Вам следует попробовать использовать чанк и очередь в laravel / Maatwebsite В файле контроллера
public function importExcel()
{
$path = resource_path() . "/Houten.xlsx";
\Excel::import(new TestImport, $path);
return redirect('/')->with('success', 'All good!');
return back();
}
И в вашем файле импорта приложения / Imports / testImports.php
use Maatwebsite\Excel\Concerns\ToCollection;
use Maatwebsite\Excel\Concerns\WithStartRow;
use Illuminate\Contracts\Queue\ShouldQueue;
use Maatwebsite\Excel\Concerns\WithChunkReading;
class TestImport implements ToCollection, WithChunkReading, ShouldQueue,WithStartRow
{
public function collection(Collection $rows)
{
//do your insertion here. //no seprate job required
}
public function startRow(): int
{
return 1;
}
public function batchSize(): int
{
return 500;
}
public function chunkSize(): int
{
return 500;
}
}
Затем установитеQUEUE_DRIVER = база данных и запустить код.Вы увидите одну запись в таблице вакансий.тогда вам нужно запустить эту работу.Есть несколько способов выполнить любую работу.ниже один В вашем терминале
php artisan queue:restart
php artisan queue:listen
это выполнит код в функции сбора в блоках и вставит ваши данные.