Есть ли способ построить hasManyTrough с принадлежит ToMany? - PullRequest
0 голосов
/ 18 октября 2019

HasManyThrough работает только в том случае, если я строю отношения с hasMany, но есть принадлежит ToMany. Я знаю, что могу жестко кодировать и объединять массивы, но хочу более элегантное решение. Любые идеи?

Учителя могут работать во многих школах. В школах может быть много учителей. Учителя могут иметь много предметов

enter image description here

1 Ответ

0 голосов
/ 21 октября 2019

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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...