【发布时间】:2018-05-10 16:56:56
【问题描述】:
我有一个名为 invoiceDetails 的表,其中 item_id 来自另一个名为 items 的表中的 foreign key,该表中的 category_id 为 foreign key 来自名为 categories 的表。
我想使用 eloquent 来做到这一点:
$result = InvoiceDetail::groupBy('item_id')
->selectRaw('sum(qty) as qty, item_id')->with('item', 'category')->get();
但我收到错误:
Call to undefined relationship [category] on model [App\InvoiceDetail].
这是我在Category 模型中的关系:
public function invoiceDetail() {
return $this->hasManyThrough('App\InvoiceDetail', 'App\Item', 'category_id', 'item_id');
}
有什么建议吗?
【问题讨论】:
-
如doc 中所述,最后尝试添加'id'、'id'。是的,这个方法应该写在 InvoiceDetail 模型中。不在类别模型中
标签: laravel eloquent relationship has-many-through laravel-5.5