Laravel在数据库上锁定表,直到更新完成

Laravel在数据库上锁定表,直到更新完成,laravel,Laravel,我在数据库中有一些重要的表,如payment\u settings,当我们更新列完成时,我必须锁定此表,现在我想对此表使用lockForUpdate(),下面的代码正确吗?: $ps = DB::table('payment_settings')->lockForUpdate()->first(); 这样对吗?在完成更新之前锁定表?此操作对我的客户非常重要。如果您希望在一个事务中完成所有工作,换句话说,如果您希望确保所有更改都成功持久化,或者没有任何更改使用事务: DB::tran

我在数据库中有一些重要的表,如
payment\u settings
,当我们更新列完成时,我必须锁定此表,现在我想对此表使用
lockForUpdate()
,下面的代码正确吗?:

$ps = DB::table('payment_settings')->lockForUpdate()->first();

这样对吗?在完成更新之前锁定表?此操作对我的客户非常重要。

如果您希望在一个事务中完成所有工作,换句话说,如果您希望确保所有更改都成功持久化,或者没有任何更改使用事务:

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文档以了解有关使用laravel文档的更多信息@webcodecs的帖子是否回答了您的问题?