有没有办法用belongsToMany建立hasManyTrough?

时间:2019-10-18 08:09:15

标签: laravel eloquent

仅当我与hasMany建立关系时,HasManyThrough才有效,但是有belongsToMany。 我知道我可以硬编码和合并数组,但是想要更优雅的解决方案。 有什么想法吗?

教师可以在许多学校工作 学校可以有很多老师 老师可以有很多科目

enter image description here

1 个答案:

答案 0 :(得分:0)

Laravel不支持直接关系。

我已经为以下情况创建了一个程序包:https://github.com/staudenmeir/eloquent-has-many-deep

class School extends Model
{
    use \Staudenmeir\EloquentHasManyDeep\HasRelationships;

    public function subjects()
    {
        return $this->hasManyDeep(
            Subject::class,
            ['school_teacher', Teacher::class, 'subject_teacher']
        );
    }
}

$subjects = School::find($id)->subjects;