Php 关系组合了两个表数据
我的数据库中有两个表Orders和OrderItems,并且Order表与OrderItems有一对多关系。。每个订单都可以有许多项目。现在我需要从OrderItems表中获取所有活动订单及其项目。例如,如果我有两个活动订单,那么我希望获得两个订单,其中包含项目。。我的意思是,我希望它们结合在一起,这样在我看来,我可以循环浏览订单,然后是订单的项目 这就是我现在恢复的方式Php 关系组合了两个表数据,php,laravel-5,eloquent,Php,Laravel 5,Eloquent,我的数据库中有两个表Orders和OrderItems,并且Order表与OrderItems有一对多关系。。每个订单都可以有许多项目。现在我需要从OrderItems表中获取所有活动订单及其项目。例如,如果我有两个活动订单,那么我希望获得两个订单,其中包含项目。。我的意思是,我希望它们结合在一起,这样在我看来,我可以循环浏览订单,然后是订单的项目 这就是我现在恢复的方式 $user_id = Auth::User()->id; $Orders = Order::whe
$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;
但这样,订单中没有项目。您不需要组合任何东西,只需获得订单即可:
$orders = Order::where('id_email',$user_id)->where('paid',1)->get();
然后循环浏览它们并获取每个项目的项目:
foreach($orders as $order){
$order->orderitems();
}
注意:应该在Order
模型中定义orderitems()
方法,如:
public function orderitems()
{
return $this->hasMany('OrderItem');
}
希望这能有所帮助。您不需要组合任何东西,只需获得订单即可:
$orders = Order::where('id_email',$user_id)->where('paid',1)->get();
然后循环浏览它们并获取每个项目的项目:
foreach($orders as $order){
$order->orderitems();
}
注意:应该在Order
模型中定义orderitems()
方法,如:
public function orderitems()
{
return $this->hasMany('OrderItem');
}
希望这有帮助