如果使用DB::表,如何使用条件



我试图根据条件更新或插入,但我遇到了错误,这个条件不起作用。如果它notification_status DELETED,它被更新了表,同时它也创建了新的记录

代码

use AppNotification;

if(DB::table('notifications')->where('user_id',$request->user_id)->where('notification_status', '=', 'ACTIVE' )){
DB::table('notifications')->update(['user_name' => $request->user_name,]);//if notification_status ACTIVE IT GET UPDATE
}else{
DB::table('notifications')->insert(['user_name' => $request->user_name,]);//if notification_status DELETED CREATE NEW RECORD
}

使用updateOrInsert,这样就可以避免条件

DB::table('notifications')->updateOrInsert(['user_id'=>$request->user_id,'notification_status'=> 'ACTIVE'],['user_name' => $request->user_name])

最新更新