我按照以下几个教程创建了代码。由于我的csv文件有超过30万行,因此我需要将其作为块上传,但无法弄清楚该怎么做。
主要关注本教程和其他一些内容,包括一些laracast讨论 https://itsolutionstuff.com/post/import-and-export-csv-file-in-laravel-58example.html
我的控制器导入功能
public function import()
{
Excel::import(new ReportImport, request()->file('file'));
return view('dashboard');
}
我的ReportImport文件
namespace App\Imports;
use App\Report;
use Maatwebsite\Excel\Concerns\ToModel;
use Maatwebsite\Excel\Concerns\WithHeadingRow;
class ReportImport implements ToModel, WithHeadingRow
{
/**
* @param array $row
*
* @return \Illuminate\Database\Eloquent\Model|null
*/
public function model(array $row)
{
return new Report([
'district' => $row['district'],
'age' => $row['age'],
'email' => $row['email'],
'name' => $row['name'],
]);
}
}
Illuminate \ Http \ Exceptions \ PostTooLargeException 没有消息