关于TP5一对多对多查询求助

浏览:2366 发布日期:2019/05/09 分类:求助交流 关键字: 多对多,查询
情况描述:
有三个表
order,package,packageGoods
Order模型public function orderPackageInfo(){
 return $this->hasMany('OrderPackage','order_id','order_id');
}

Package模型public function orderPackageGoods(){
        return $this->hasMany('OrderGoods','package_id','package_id');
    }
调用查询
Order->with('orderPackageInfo.orderPackageGoods')->select();
这样得出来的数据package里面的packageGoods包含了其他order_id的packageGoods.如这样[0]=>[
'order_id'=>1,
'package'=>[
'order_id'=>1,
'package_id'=>1,
'package_goods'=>[
[0]=>['goods_id'=>1,package_id => 1,order_id =>1],
[1]=>['goods_id'=>2,package_id => 1,order_id =>1],
[2]=>['goods_id'=>1,package_id => 1,order_id =>2],
[3]=>['goods_id'=>2,package_id => 1,order_id =>2],
]
]
],
[1]=>[
'order_id'=>2,
'package'=>[
'order_id'=>2,
'package_id'=>1,
'package_goods'=>[
[0]=>['goods_id'=>1,package_id => 1,order_id =>1],
[1]=>['goods_id'=>2,package_id => 1,order_id =>1],
[2]=>['goods_id'=>1,package_id => 1,order_id =>2],
[3]=>['goods_id'=>2,package_id => 1,order_id =>2],
]
]
],
现在想要弄成这样的结构[0]=>[
'order_id'=>1,
'package'=>[
   'order_id'=>1,
   'package_id'=>1,
   'package_goods'=>[
         [0]=>['goods_id'=>1,package_id => 1,order_id =>1],
         [1]=>['goods_id'=>2,package_id => 1,order_id =>1]
    ]
  ]
],
[1]=>[
'order_id'=>2,
'package'=>[
   'order_id'=>2,
   'package_id'=>1,
   'package_goods'=>[
         [0]=>['goods_id'=>1,package_id => 1,order_id =>2],
         [1]=>['goods_id'=>2,package_id => 1,order_id =>2]
    ]
  ]
],
要怎么写求助中
最佳答案
评论( 相关
后面还有条评论,点击查看>>