Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Здравствуйте. Помогите пожалуйста написать этот запрос в стиле Laravel Query Builder
Я создал 3 таблица со связями многие ко многим. Структура их стандартная (teachers - профили учителей, subjects - предметы которые они ведут, teacher_subject - вяжет их вместе по id - шникам. Каждий учитель может иметь много предметов).
Что я хочу собственно получить запросом это вывести всех учителей у которые ведут к примеру предмет физика. Но чтобы в каждого учителя был список всех его предметов.
Вот запрос в SQL
select teachers.*, group_concat(subjects1.name_ru)
from teachers
join teacher_subject teacher_subject1
on teacher_subject1.teach_id = teachers.id
join subjects subjects1
on subjects1.id = teacher_subject1.subject_id
join teacher_subject teacher_subject2
on teacher_subject2.teach_id = teachers.id
join subjects subjects2
on subjects2.id = teacher_subject2.subject_id and subjects2.name_ru = 'физика'
group by teachers.id
Он работает, но мне нужно доставить еще много условий, а это намного лучше и легче будет сделать если написать запрос в Query Builder. Собственно основное что не могу понять как вот такие части писать в laravel
join teacher_subject teacher_subject1
on teacher_subject1.teach_id = teachers.id
основная проблема вообщем конечно в том что я его просто переложил на свои таблицы до конца не понимая как работают вот эти поля с числами в конце (например teacher_subject1, subjects2) если кто то чуть направит в понимании буду очень благодарен.
Изменено AnriKo (22.02.2017 09:52:58)
Не в сети
Страницы 1