如何跳过 maatwebsite-excel 3.1 中的空白行以在 Laravel 上进行模型方式导入

2023-11-26

我正在开发 laravel 项目maatwebsite-exvel 3.1从文件上传方法导入excel文件。这是我的StudentsImport class.

public function model(array $row)
{
    return new Student([
        'school_uuid' => Auth::user()->school_uuid,
        'cardid'     => $row[0],
        'prefix'    => $row[1], 
        'name'    => $row[2], 
        'lastname'    => $row[3], 
        'dob'    => $row[4], 
        'address'    => $row[5], 
        'phone'    => $row[6], 
    ]);
}

下面是控制器。

 Excel::import(new StudentsImport,  $request->file('file'));

代码工作正常。我可以将 Excel 的数据导入数据库,但也导入了空白行。我想在放入数据库之前过滤/验证以跳过这些空白。对此的任何建议或指导将不胜感激,谢谢


根据包文档,支持使用 Laravel 的验证来防止插入无效行。

要使用它,请执行WithValidation您的导入器类上的接口并添加rules()返回用于确保行有效的验证规则的方法。

public function rules(): array
{
    return [
        '0' => 'required|string',
        '1' => 'required|string',
        '2' => 'required|numeric',
        // so on
    ];
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何跳过 maatwebsite-excel 3.1 中的空白行以在 Laravel 上进行模型方式导入 的相关文章

随机推荐