比如有个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);
添加回答
举报
0/150
提交
取消
