【发布时间】:2015-07-13 06:40:06
【问题描述】:
我花了整整十个小时试图解决这个问题,但不确定我哪里出错了。我希望根据它们与订单的关系显示订单中的商品。
我在加载用户个人资料页面时需要 3 个表格的信息。在该页面上,我试图显示以前的订单(即:订单日期)以及为每个订单订购的商品。以下是表格的细分:
用户
- 身份证
订单
- 身份证
- 订单日期
- user_id
order_items
- order_id
在我的用户模型中,我有:
public function orders()
{
return $this->hasMany('Order');
}
public function order_items()
{
return $this->hasManyThrough('OrderItem', 'Order');
}
我的 UserController 方法如下所示:
public function show()
{
$user = User::find(Auth::user()->id);
return View::make('users/show')->with('user', $user);
}
在“users/show.blade.php”中,我试图访问这些关系中的数据,如下所示:
@foreach($user->orders as $order) // this foreach relationship works
{{ $order->order_date }}
@endforeach
我遇到的问题是访问每个订单的商品(order_items)。我在一个基本的 PHP 项目中做过类似的事情,但我正在尝试学习和使用 Eloquent。我该如何实现呢?
【问题讨论】: