Множественные отношения - PullRequest
0 голосов
/ 15 мая 2019

У меня есть 4 таблицы:

  • кандидатов [идентификатор, фамилия и т.д.]
  • консультанты [id, фамилия и т. Д.]
  • встреч [id, consultant_id и т. Д.]
  • ещание кандидата [идентификатор, кандидат_ид, встреча_ид]

На собрании есть только один консультант, на собрании есть несколько кандидатов. Я хотел бы найти всех кандидатов консультанта.

К сожалению, я не могу сделать это ни через отношения «Имеет много через», ни через полиморфные отношения.

Не могли бы вы сказать мне, подходит ли схема базы данных для красноречивого использования, или мне следует изменить схему?

Thx,

1 Ответ

0 голосов
/ 15 мая 2019

У Laravel нет собственной поддержки прямых отношений.

Я создал пакет для таких случаев: https://github.com/staudenmeir/eloquent-has-many-deep

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

    public function candidates()
    {
        return $this->hasManyDeep(Candidate::class, [Meeting::class, 'candidate_meeting']);
    }
}

Consultant::find($id)->candidates;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...