【发布时间】:2021-11-11 11:27:40
【问题描述】:
我正在使用 maatwebsite/excel 包导入 CSV 文件。我无法限制导入的行。就像我需要上传文件中的前“n”行一样。我看到了一个界面
WithLimit
但是当我将它与 Limit() 一起使用时。它会引发一些错误,例如我尝试插入的某些表值是空的。我认为它正在使用列的限制。有什么办法可以解决这个问题吗?
我的控制器
class FinancialTransController extends Controller
{
public function store(Request $request)
{
Excel::import(new FinancialTrans, request()->file('myfile'));
return 'success';
}
}
这是我的导入类
class FinancialTrans implements ToModel,WithHeadingRow
{
/**
* @param array $row
*
* @return \Illuminate\Database\Eloquent\Model|null
*/
public function model(array $row)
{
return new FinancialTran([
'module_id' =>$row['sr'],
'tran_id'=>$row['sr'],
'amount'=>$row['sr'],
'crdr'=>$row['sr'],
'tran_date'=>$row['date'],
'acad_year'=>$row['academic_year'],
'entry_mode'=>$row['sr'],
'voucher_number'=>$row['voucher_no'],
'br_id'=>$row['sr'],
]);
}
public function headingRow(): int
{
return 6;
}
}
【问题讨论】:
-
你能说明你是如何导入 csv 的吗?
-
可能您遇到了一些与 excel 导入行限制无关的迁移或数据插入问题。
-
@Kim De Guzman,如果我没有设置限制,数据插入工作没有任何问题。
-
@mrhn 谢谢,我已经更新了问题。
-
在你的导入类中......你是如何使用 WithLimit 的
标签: laravel laravel-excel