[英]How to check if record is already exists and then update or insert in laravel?
我试图先检查是否已经存在数据,如果已经存在数据,则更新功能否则插入新记录。 在插入新记录时可以正常工作,但我不想将来重复行,
public function store(Request $request) { $requestData = $request->all(); $jobseeker = new Jobseeker(); $jobseeker->fullname= $requestData['full name']; $jobseeker->gender= $requestData['Gender']; $jobseeker->messenger_user_id= $request->{'messenger user id'}; $jobseeker->save(); }
public function store(Request $request,$messenger_user_id) { $requestData = $request->all(); $my_msg_id = Jobseeker::where('messenger_user_id',$requestData['messenger user id'])->first(); if (is_null($my_msg_id)) { $jobseekers = Jobseeker::find($messenger_user_id); $jobseeker->fullname= $requestData['full name']; $jobseeker->gender= $requestData['Gender']; $jobseeker->messenger_user_id= $request->{'messenger user id'}; } else{ $jobseeker = new Jobseeker(); $jobseeker->fullname= $requestData['full name']; $jobseeker->gender= $requestData['Gender']; $jobseeker->messenger_user_id= $request->{'messenger user id'}; $jobseeker->save(); } }
有人可以指导我,谢谢。
您无需在laravel中自己做所有这些事情。 使用方法firstOrCreate
。
$data_array = [
'full_name' => $requestData['full name'],
'gender' => $requestData['Gender'],
];
$jobseeker = App\Jobseeker::firstOrCreate(['messenger_user_id' => $messenger_user_id], $data_array);
它以数组作为第一个参数来查找模型,并以数组作为第二个参数来更新具有该数组中给定键值的记录,否则它将创建一个具有给定数据的新记录,然后返回模型对象。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.