gpt4 book ai didi

php - 验证数组是否已存在于 mysql php laravel 中

转载 作者:行者123 更新时间:2023-11-29 09:25:36 26 4
gpt4 key购买 nike

目前我有一组数组。

我可以使用 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);

输出:

enter image description here

我正在使用此代码将这些数据插入到我的表中

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

这工作正常,但问题是,

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

这是我的用户

enter image description here

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

更新

目前我有这个验证器,我尝试添加 $Insert_data1 但给了我 $insert_data1 的 undefined variable

      $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();

关于php - 验证数组是否已存在于 mysql php laravel 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59657798/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com