繁体   English   中英

Laravel Eloquent,集合虽然有 2 个表,但有很多关系

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM