Laravel 检查不在具有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'=&

我有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'=>'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
}