Как сформировать многомерный после выборки из mysql?
Всем привет, тут такая проблема возникла, казалось бы примитивная.
Есть таблица КУРС, таблица СТУДЕНТЫ и промежуточная КУРС_СТУДЕНТ
Нужно в таблице выводить. Т.есть я думаю нужно сформировать массив типа:
[1 => ['name' => 'Математика', 'teacher_name' => '...', 'students' => [['a'], ['b'], ['c']],
Курс Студент
Петров
Иванов
Математика Серов
Сидоров
Потапов
----------------------------------
ThunderCat, я думаю вот так вот. Сделать запрос, на получение всего. А потом в цикле записывать. Не знаю как можно лучше сделать.
SELECT
course.*,student.*
FROM
course LEFT JOIN course_student
ON course.id = course_student .course_id
LEFT JOIN student
ON student.id= course_student.student_id
Вы слишком сильно боитесь нагружать базу данных. Нет ничего страшного, чтобы получить сначала список курсов, а потом в цикле получить список студентов для каждого курса. У вас же этих курсов не тысячи. А если тысячи, стоит делать пагинацию. Я, конечно, не проверял, но мне кажется, что обработка результатов "запроса, на получение всего" нагрузит ваш сервер не меньше.