关系组合了两个表数据

时间:2017-08-31 12:47:18

标签: php laravel-5 eloquent

我的数据库中有两个表订单 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;

但这种方式订单里面没有物品。

1 个答案:

答案 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');
}

希望这有帮助。