在 Laravel 5.4 中使用 SQL 事务(SQL Transaction),可以通过以下步骤实现:
DB
facade 的 transaction
方法来开启一个事务。事务代码块可以是一个闭包函数,也可以是一个类方法。
DB::transaction(function () {
// 在这里编写需要在事务中执行的代码
});
DB::transaction(function () {
DB::table('users')->update(['votes' => 1]);
DB::table('posts')->delete();
});
DB::transaction(function () {
DB::table('users')->update(['votes' => 1]);
throw new Exception('发生异常,事务将会回滚');
});
DB
facade 的 rollBack
方法。
DB::transaction(function () {
DB::table('users')->update(['votes' => 1]);
DB::rollBack();
});
使用 SQL 事务可以确保一系列的数据库操作要么全部成功,要么全部失败,保证数据的一致性和完整性。
推荐的腾讯云相关产品:腾讯云数据库 MySQL,提供高性能、高可用的 MySQL 数据库服务。产品介绍链接地址:https://cloud.tencent.com/product/cdb
领取专属 10元无门槛券
手把手带您无忧上云