【发布时间】:2017-10-25 14:07:48
【问题描述】:
我正在使用 Laravel 创建一个应用程序,并且我正在尝试使用 Eloquent。我有两个表:Orders 和 Items。
每个项目都有一个类型(int data):
- 1 => 书
- 2 => 视频
每个订单都有一本书和许多视频。
在我的订单模型中,我想要一本书和其他物品的关系。所以,我有这个代码:
public function book()
{
return $this->hasMany('App\Item')->where('type', 1)->first();
}
public function others()
{
return $this->hasMany('App\Item')->where('type', '!=', 1)->get();
}
但是,如果我对我的关系使用预先加载,我会收到一个错误:
Order::with(['book', 'others'])->get();
你能帮我解决这个问题吗?
谢谢
【问题讨论】: