\DB::transaction(function () use ($user, $request) {
//业务逻辑层
})
DB::transaction() 方法会开启一个数据库事务,在回调函数里的所有 SQL 写操作都会被包含在这个事务里,如果回调函数抛出异常则会自动回滚这个事务,否则提交事务。用这个方法可以帮我们节省不少代码
$order->items()->make([ 'amount' => $data['amount'], 'price' => $sku->price, ]);
orm如果有关联关系例如上面order 是1对多的item关系的,make()方法可以新建一个关联关系的对象(也就是 OrderItem)但不保存到数据库,这个方法等同于 $item = new OrderItem(); $item->order()->associate($order);。
网友评论