Это проблема, с которой я часто сталкиваюсь, и мое решение всегда должно выполнять множество запросов, но я чувствую, что должен быть лучший путь Вот мои две таблицы для этого примера:
Artists
ID
Имя
Песни
ID
artistID
Имя
жанр
Таблица связана так:
artist.id <-> songs.artistID
Я бы хотел получить список всех исполнителей и одновременно получить список всех песен каждого исполнителя. Я хотел бы избежать дублирования имен исполнителей в моем наборе результатов, чтобы мне не пришлось очищать набор данных в PHP. Вот пример формата, в котором я хотел бы, чтобы данные были:
array(0 => array('name' => 'Artist A'
, 'songs' => array(0 => array('name' => 'Song 1'
, 'genre' => 'rock'
)
)
1 => array('name' => 'Song 2'
, 'genre' => 'rock'
)
)
)
1 => array('name' => 'Artist B'
, 'songs' => array(0 => array('name' => 'Song 3'
, 'genre' => 'rap'
)
)
1 => array('name' => 'Song 4'
, 'genre' => 'rap'
)
)
)
)
(я знаю, что это не формат MySQL, но это самый близкий способ, который я мог бы объяснить)
Возможно ли это? Если да, то как?
Спасибо!