Множественные отношения

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

  • кандидаты [id, family_name и т. д.]
  • консультанты [id, family_name, etc]
  • встречи [id, id_консультанта и т. д.]
  • кандидат_встреча [идентификатор, кандидат_ид, встреча_ид]

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

К сожалению, я не могу этого сделать ни через отношения "Has Many Through", ни через полиморфные отношения.

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

Спасибо,

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
0
0
29
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

В 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;

Другие вопросы по теме