【发布时间】:2020-09-15 08:45:04
【问题描述】:
我有 4 个表及其对应的模型如下:
//Table is applications
class Application extends BaseModel {
public function bill(){
return $this->belongsTo(Bill::class,'bill_id');
}
}
//Table is bills
class Bill extends BaseModel {
public function groups(){
return $this->hasMany(Group::class,'group_id');
}
}
//Table is groups
class Group extends BaseModel {
public function items(){
return $this->hasMany(Item::class,'item_id');
}
}
//Table is items
class Item extends BaseModel {
// some props
}
每个Application 都有Bill,然后又分为Groups。每个group 都有Items。请注意,Items 表定义了每个项目的item 和amount/unitprice。
这就是我想要的:
在Application 模型中,我想定义一个函数来返回项目。我尝试了以下方法:
class Application extends BaseModel {
...
public function billItems()
{
return $this->with('bill.groups.items');
}
}
我最终得到的是:
"message": "\Application::billItems must return a relationship instance.",
"exception": "LogicException",
怎么了。我该怎么做才能让它工作?我正在使用 Laravel 5.7
【问题讨论】:
-
这不会解决您的问题。 stackoverflow.com/a/38216669/4771024你的问题或许有答案
标签: laravel laravel-5 eloquent eloquent-relationship