使用枢轴模型对 hasManyThrough 关系的逆关系进行建模

问题描述 投票:0回答:1

我有以下模型/表格:

branch:
    id - integer

department:
    id - integer

teacher:
    id  - integer
    branch_department_id - integer

branch_department:
    id - integer
    branch_id - integer
    department_id - integer

通过数据透视表branch_department,每个分行有多个部门 每个部门都有很多老师

上一个问题中,我要求在分支和教师之间建立 HasManyThrough 关系 使用这个解决了哪些问题:

public function teachers()
{
    return $this->hasManyThrough(
        Teacher::class,
        BranchDepartment::class,
        secondKey: 'branch_department_id',
    );
}

现在我想对这种关系的逆关系进行建模。

这样我就可以从教师模型中得到它所属的分支

我该如何定义它?

php laravel eloquent laravel-query-builder eloquent-relationship
1个回答
0
投票

你可以在 laravel 中像这样使用 ownTo 。你可以试试这个。

public function branch()
{
    return $this->belongsToThrough(
        Branch::class,
        BranchDepartment::class,
        'branch_department_id', // Foreign key on Teacher table
        'id',                   // Local key on Branch table
        'id',                   // Local key on BranchDepartment table
        'branch_id'             // Foreign key on BranchDepartment table
    );
}
© www.soinside.com 2019 - 2024. All rights reserved.