В настоящее время у меня есть набор массивов.
и
Я могу легко вставить эти данные в свою базу данных, используя 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);
ВЫХОД:
, и я использую этот код для вставки этих данные в мою таблицу
DB::table('tbl_emp_proj')->insert($insert_data1);
, и это прекрасно работает, но проблема в том,
Я пытаюсь проверить, существует ли emp_id
в моей таблице users
Вот моя users
таблица
Значение 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",
]
);