首页 > 解决方案 > Laravel excel 在行结束后继续验证数据

问题描述

[验证另外 989 行][1] [1]:https://i.stack.imgur.com/4ErrL.png

我用 laravel-excel 创建了导入函数,并根据需要创建了一个列。该文件包含 10 行,但在检查失败后,它总是在数据和标题下方返回另外 989 行。有什么建议吗?

我的控制器

      public function import(Request $request)
    {
        $import = new StudentsImport;

        $import->import($request->file('file'));

        foreach ($import->failures() as $failure) {
            foreach ($failure->errors() as $key => $value) {
                $test[] = $value;
            }
        }
        return $test;

    }

我的进口

    class StudentsImport implements ToModel, WithHeadingRow, SkipsOnError, WithValidation, SkipsOnFailure
{
    use SkipsErrors;
    use Importable;
    use SkipsFailures;

    public function model(array $row)
    {
        return new User([
            'name' => $row['nama_siswa'],
            'email' => $row['email'],
            'username' => $row['nisn'],
            'password' => $row['password'],
            'dob' =>  $row['dob'],
            'nisn' => $row['nisn']
        ]);
    }

    public function rules(): array
    {
        return [
            'nisn'      => 'required|numeric'
        ];
    }
}

标签: laravelvalidationimport-from-excelmaatwebsite-excellaravel-excel

解决方案


推荐阅读