laravel 提供专门的闭包的数据库事务,可以自动回滚事务也可以手动回滚事务
//自动回滚事务
DB::transaction(function () {
DB::table('users')->update(['posts' => 1]);
DB::table('posts')->save();
});
对于新手来说,实现事务添加和回滚还是需要用到
use
use来使用闭包外部定义的变量的.
public function update(Post $post)
{
DB::transaction(function ()use($post){
$post->update(\request(['title','content']));
});
}
这只是我的理解如果需要更加仔细的可以去
http://laravelacademy.org/post/8029.html
文章最下面就是数据库事务回滚。