我的数据库中有两个表订单和 OrderItems ,订单表与OrderItems有一对多的关系..每个订单都可以包含很多项目..现在我需要从OrderItems表中获取所有活动订单及其商品。例如,如果我有2个有效订单,那么我想得到两个带有项目的订单..我的意思是我希望它们结合在一起,所以在我的视图中我可以遍历订单然后该订单的项目。
这就是我现在正在检索的方式
$user_id = Auth::User()->id;
$Orders = Order::where([['id_email', '=', $user_id],['paid', '=', 1],])->get();
$items = Order::where([['id_email', '=', $user_id],['paid', '=', 1],])->orderitems;
但这种方式订单里面没有物品。
答案 0 :(得分:0)
您不需要合并任何可以简单获取订单的内容:
$orders = Order::where('id_email',$user_id)->where('paid',1)->get();
然后循环遍历它们并获取每个项目:
foreach($orders as $order){
$order->orderitems();
}
注意: orderitems()
方法应在Order
模型中定义,如:
public function orderitems()
{
return $this->hasMany('OrderItem');
}
希望这有帮助。