基本上我想使用条件在我的模型中保存数据,以防止同时执行多个保存数据.
我现在做的是:
$order = Order::find(id);
$order->paid_amount = $amount;
$order->status = $status;
$order->save();
Run Code Online (Sandbox Code Playgroud)
我需要的是:
$order = Order::find(id);
$order->paid_amount = $amount;
$order->status = $status;
$order->where('last_update', $last_update);
$order->save();
Run Code Online (Sandbox Code Playgroud)
是否有可能在laravel中有效地执行此操作,还是必须使用原始sql或更新?
我猜你的意思是“是否可以有效地雄辩地做到这一点,或者我是否必须使用原始sql或更新?”
无论如何,我认为您需要查询生成器来完成您想要的操作:
DB::table('order')
->where('id', $id)
->update([
'paid_amount' => $amount,
'status' => $status;
]);
Run Code Online (Sandbox Code Playgroud)
它是尽可能原子的。