为了账号安全,请及时绑定邮箱和手机立即绑定

laravel动态增加的关联元素可以不用重复查询即可得到么

laravel动态增加的关联元素可以不用重复查询即可得到么

PHP
忽然笑 2019-03-14 02:40:25
比如有个1对多关系,一个Order对应多个OrderDetail,Order模型有个1对多的关系orderDetail,OrderDetail模型有个belongsTo的关系order // 假如这个orderDetail有两条 $order = Order::with('orderDetail')->find(33); // 这里会打印出两条 dd($order->orderDetail); // 有个奇怪的需求需要动态增加orderDetail, 上面的代码就会变成类似下面这样: $order = Order::with('orderDetail')->find(33); $order->orderDetail->create([ xx => xx ]); // 或者变成下面这样: $orderDetail = new OrderDetail; $orderDetail->xx = xx; $orderDetail->save(); $orderDetail->order()->associate($order); // 但是这地方还是会打印出两条,请问如何打印出刚才新增的一条呢,也就是输出3条 // 如果重新查询下当然可以,但是不优化啊,因为数据都已经查过了,只是额外附加一条到这个orderDetail里而已 // 有什么方式可以做到嘛 dd($order->orderDetail);
查看完整描述

1 回答

?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

解决了,直接$order->orderDetail->push()即可。。

查看完整回答
反对 回复 2019-03-18
  • 1 回答
  • 0 关注
  • 634 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号