2017-08-31 90 views
1

我在我的数据库中的两个表订单的OrderItems和Order表有一到用的OrderItems一对多的关系..每个订单可以有很多items..now我需要获取所有有效订单与他们来自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

你不需要任何东西结合起来,你可以简单地得到订单:

$orders = Order::where('id_email',$user_id)->where('paid',1)->get(); 

然后通过他们循环,让每一个人的项目:

foreach($orders as $order){ 
    $order->orderitems(); 
} 

注:orderitems()方法应该在你的模型中定义如下:

public function orderitems() 
{ 
    return $this->hasMany('OrderItem'); 
} 

希望这有助于。