@Pr00f

Eloquent — как правильно связать модели?

Может кто-нибудь помочь расставить связи у моделей?
Есть основная модель - Gymnasium, модель с людьми - People и промежуточная модель - GymnasiumMembers.
Надо вывести список школ, в котором будут: название школы, количество людей из этой школы, имя директора школы.
Как соединить это все с остальными таблицами ума не приложу. Есть упрощенный sql-запрос, чтобы было понятнее:
SELECT g.id, g.name, p.name AS director, gm.title,
	(SELECT COUNT(*) FROM gymnasium_members gm WHERE gm.gymnasium_id = g.id) AS members_count
FROM gymnasium as g
LEFT JOIN gymnasium_members AS gm ON gm.gymnasium_id = g.id
LEFT JOIN people AS p ON p.id = gm.people_id
WHERE gm.title = 'DIRECTOR'
  • Вопрос задан
  • 2309 просмотров
Пригласить эксперта
Ответы на вопрос 1
У Вас человек может работать одновременно в нескольких гимназиях? Если нет, то вам не нужна промежуточная таблица. Связь будет один (гимназия) ко многим (человек). И peoble будет belongsTo gymnasium and vice versa.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы