Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 Laravel 5.x » Laravel - многие ко многим продвинутый запрос. » 22.02.2017 09:49:21

AnriKo
Ответов: 0

Здравствуйте. Помогите пожалуйста написать этот запрос в стиле 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) если кто то чуть направит в понимании буду очень благодарен.

Подвал раздела