生成订单时,返回订单碰时一些不太理解的地方
1.这两个return $order 为什么要写两次,是否重复了?在事务的闭包外面,只保留最后面的一个返回不可以吗?
2.我在测试的时候发现一个奇怪的现象,为什么orders表的数据能生成,而orderItems表中的数据没有生成,既然使用了事务,orders表中的数据不是也应该回滚吗?
这章就是这里不太理解,希望大神们可以指点迷津!!!
你把第一个 return 注释掉看看会发生什么?建议多关注一下 PHP 语言本身的特性。
如果没有抛出异常,是不会回滚的,你需要关心一下为什么会没有成功创建,自己试着调试一下,对比一下课程代码。
@leo 感谢,我试试
第一个$order返回到\DB::transaction外面,注释掉的话,外面的$order=null