我有一些关于数据库的重要表格,例如payment_settings
,当我们更新完成的列时,我必须锁定此表,现在我想对此表使用lockForUpdate()
,在代码下面是否正确? :
$ps = DB::table('payment_settings')->lockForUpdate()->first();
这是正确的吗?锁表直到完成更新?这个动作对我的客户来说非常重要。
答案 0 :(得分:0)
如果您想在一个事务中完成所有工作,换句话说,如果您想确保所有更改都成功保留,或者没有一个使用事务:
DB::transaction(function()
{
//Do some stuff on DB here ...
});
最终,如果你想要更多的控制,你可以这样做:
try{
DB::beginTransaction();
//Do some stuff on DB here ...
DB::commit();
}
catch(Exception $e){
DB::rollback();
}
上查看laravel文档以获取更多信息