Есть три таблицы: пользователи, плейлисты, треки. Плейлисты могут быть общими, а один трек может быт в разных плейлистах. Пытаюсь в одном json вернуть информацию о пользователе и плейлисты с треками.
Сначала сделал такую структуру БД с двумя сводными таблицами:
Однако не смог сформулировать нормальный запрос, чтобы одним запросом выводило и плейлисты пользователя, и треки к ним. Была мысль взять плейлисты пользователя и в цикле делать отдельные запросы для треков, но мне показалось что запахло говнокодом и эта идея была отброшена.
Затем переделал БД вот в это:
Работает, но json плоский одноуровневый, а хочется с вложенными объектами.
Первый вариант БД кажется хорошим, пока вернул его обратно.
Нужен совет, как правильно сформулировать к нему запрос, принимаются и любые другие решения.
СУБД - MySQL, Laravel PHP, Eloquent ORM.