今天继续分享laravel框架事务的高级用法,有时候我们并不知道有多少个数据库查询的方法要在事务里面使用,这个时候我们可以把可能在数据库查询方法封装到一个数据内,然后在事务里面,循环执行查数据库操作。
示例代码如下:
$transcation = [];
if(isset($user)){
$transcation[] = $user;
}
DB::transaction( function () use ($transcation[]) {
foreach( $transcation as $k => $v ){
$v->save();
}
}, 5);
实际测试下来,DB::transaction()的匿名函数里,是可以封装复杂的逻辑判断语句的。这就为我们执行事务的方法,提供了非常多的可能。
如果有不同看法的,跪请留言。