我是Laravel的新人。我想将数组中的数据插入数据库。我的数据被插入到数据库中,但是当数据存在于数据库中时,相同的数据会上传到数据库中。我想只插入数据库中没有的新数据。
$str=$this->entry();
$end=$this->exit_entry();
$st=array_chunk($str,5);
$ex=array_chunk($end,5);
$result=array();
foreach($st as $v1){
$tmp = array(
'Employee_id'=>$v1[0],
'Employee_name'=>$v1[1],
'Date' => $v1[2],
'Day' =>$v1[3],
'Time1' => $v1[4]
);
foreach($ex as $v2){
if($v2[1] == $v1[1] && $v2[0] == $v1[0] && $v2[2] == $v1[2] && $v2[3] == $v1[3] ){
$tmp['Time2']=$v2[4];
}
}
$result[] = $tmp;
}
foreach($result as $res) {
$res1 = EmployeeList::insert($res);
}
//var_dump($res1);
答案 0 :(得分:0)
我认为如果数据已经存在,您的问题就会更新。所以这就是你能做的:
$res1 = EmployeeList::firstOrCreate($res);
但只有将Employee_id
设置为主键时,此功能才有效。