【发布时间】:2020-01-15 20:16:43
【问题描述】:
如何在 Laravel 中实现 BelongsToThrough 关系?
我有桌子:
**projects_table**
id
**categories_table**
id
project_id
**properties_table**
id
category_id
类别属于项目
public function project(){
return $this->belongsTo('App\Project');
}
属性属于类别
public function category(){
return $this->belongsTo('App\Category');
}
我们如何建立关系?
Property BelongsTo Project through Category
public function project(){
return $this->belongsToThrough('App\Project', 'App\Category');
}
编辑问题。
因为我想在我的应用程序上进行多租户,并且租户是 PORJECT。我想按项目分隔类别和属性。
CATEGORY 属于 PROJECT PROPERTY 属于 CATEGORY
所以我想通过 CATEGORY 建立 PROPERTY 和 PROJECT 之间的关系。
现在,我需要在 categories 和 properties 表上添加:project_id,我认为这不是正确的方法。
【问题讨论】:
-
您遇到了哪个错误?
-
@LakhwinderSingh,belongsToThrough 不是 Laravel 的关系类型。我试图通过 hasOneThrough 关系遵循 Prafulla 的回答,但这不起作用。
-
查看这个添加了
belongsToThrough关系github.com/staudenmeir/belongs-to-through的包
标签: laravel laravel-5 eloquent relationship route-model-binding