如果数组已经存在于 mysql php laravel 中则验证数组

Validate array if already exists in mysql php laravel

目前我有一组数组。

我可以使用 Laravel 轻松地将这些数据插入到我的数据库中,而无需进行任何验证

这是示例数组

代码:

        $excel1 = Importer::make('Excel');
        $excel1->hasHeader(true);
        $excel1->load($savePath.$fileName);
        $excel1->setSheet(2);
        $collection1 = $excel1->getCollection();
        $arr1 = json_decode($collection1,true);

    foreach ($arr1 as $row1) {
                $insert_data1[] = array(
                    'projCode'  =>  $projCode,
                    'emp_id'  =>  $row1['company_id'],
                    'type'  =>  'EMP',
                    'deleted'  =>  0,
                    'by_id'  => auth()->user()->id,
                    'updated_by'    =>  auth()->user()->name,
                    'created_at'    =>  now(),
                    'updated_at'    => now(),
                );
            }
  dd($insert_data1);

输出:

并且我正在使用此代码将这些数据插入到我的 table

    DB::table('tbl_emp_proj')->insert($insert_data1);

这工作正常,但问题是,

我正在尝试验证 emp_id 是否存在于我的 users table

这是我的 users table

数组中 emp_id 的值应使用 users 中的 company_id 字段检查它是否已存在于我的 users 中。如果 $insert_data1 是一个数组,我该如何验证它并且应该检查它是否存在于数据库中?

更新

目前我有这个验证器,我试图加起来 $Insert_data1 但给了我 undefined var for $insert_data1

      $validator = Validator::make(
        [
            'file'      => $request->file,
            'extension' => strtolower($request->file->getClientOriginalExtension()),
        ],
        [
            'file'          => 'required|max:5000',
            'extension'      => 'required|in:,csv,xlsx,xls',
        ],
        $insert_data1,
        [
            '*.emp_id' => "required|exists:users,company_id",
        ]
    );

您可以使用 Laravel Validator 来验证任何数组,就好像它是请求输入一样。

use Illuminate\Support\Facades\Validator;

$validator = Validator::make(
    $insert_data1,
    [
        '*.emp_id' => "required|integer|exists:users,company_id",
    ]
);

编辑:

您可以使用验证器 API 接收错误消息和错误项。

$failed = $validator->fails(); //boolean

$errors = $validator->errors();

$validated = $validator->validated();

$invalid = $validator->invalid();