[英]Laravel Eloquent, set has many relation though 2 tables
我有一个用户可以拥有多个项目。
所以我想在User
模型中定义一个关系
public function projects() {
return //some code here
}
问题是要访问用户的项目,我需要通过 2 个不同的表。 因此,对于这种情况,不可能使用hasManyThough
或仅使用hasMany
。
我如何设置通过 2 个不同表而不是一个(即数据透视表)的一对多关系?
只需在您的模型中使用 eloquent .. 只需为每个模型定义 hasmany/belongsto 等
样本 :
$user->table_b->table_c->project()... this just sample.. you can use 'with'
class User extends Model
{
protected appends = ['template'];
public function table_b() {
return $this->hasMany(TableB::class);
}
}
class TableB extends Model
{
public function table_c() {
return $this->hasMany(TableC::class);
}
}
class TableC extends Model
{
public function project() {
return $this->hasMany(Project::class);
}
}
class Project extends Model
{
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.