Laravel 检查不在具有2个值匹配的数组中的数据
我有2个数组,我想用2个值匹配来检查这些数组, 若这两个值不匹配,我想插入数据库 我尝试过的代码:Laravel 检查不在具有2个值匹配的数组中的数据,laravel,laravel-7,Laravel,Laravel 7,我有2个数组,我想用2个值匹配来检查这些数组, 若这两个值不匹配,我想插入数据库 我尝试过的代码: $data1 = {['reg_no'=>123,'name'=>'John'],['reg_no'=>1234,'name'=>'Lisa']}; $data2 = {['reg_no'=>123,'name'=>'John'],['reg_no'=>1234,'name'=>'Lisa'],['reg_no'=>12345,'name'=&
$data1 = {['reg_no'=>123,'name'=>'John'],['reg_no'=>1234,'name'=>'Lisa']};
$data2 = {['reg_no'=>123,'name'=>'John'],['reg_no'=>1234,'name'=>'Lisa'],['reg_no'=>12345,'name'=>'Roger']};
foreach($data1 as $d1)
foreach($data2 as $d2)
if($d1['reg_no'] != $d2['reg_no'] && $d1['name'] != $d2['name'])
//insert into database
// this not work because it will enter all data that not match
endif
endforeach
endforeach
您可以在laravel中使用FirstOrNew或FirstOrCreate。 如不存在,则插入
$students = User::firstOrNew(['student_id' => $request->student_id, 'course_code' => $request->course_code]);
$students->foo = $request->foo;
$students->save();
这不是我想要的,我在问如何检查两个两个值匹配的数组。我收到错误“strcasecmp()期望参数1是字符串,数组给定”
$data1 = {['reg_no'=>123,'name'=>'John'],['reg_no'=>1234,'name'=>'Lisa']};
$data2 = {['reg_no'=>123,'name'=>'John'],['reg_no'=>1234,'name'=>'Lisa'],['reg_no'=>12345,'name'=>'Roger']};
$data = array_uintersect($data1, $data2, "strcasecmp");
if($data['reg_no'] != $data1['reg_no'] && $data2['reg_no']) {
// insert
}