Есть три таблицы: пользователи, плейлисты, треки. Плейлисты могут быть общими, а один трек может быт в разных плейлистах. Пытаюсь в одном json вернуть информацию о пользователе и плейлисты с треками.
Сначала сделал такую структуру БД с двумя сводными таблицами:
![a8e7a2997b334669a805c14303163db5.PNG](//habrastorage.org/files/a8e/7a2/997/a8e7a2997b334669a805c14303163db5.PNG)
Однако не смог сформулировать нормальный запрос, чтобы одним запросом выводило и плейлисты пользователя, и треки к ним. Была мысль взять плейлисты пользователя и в цикле делать отдельные запросы для треков, но мне показалось что запахло говнокодом и эта идея была отброшена.
Затем переделал БД вот в это:
![2fe3108a5a63479d9bf5f0dcfe1bfb7c.PNG](//habrastorage.org/files/2fe/310/8a5/2fe3108a5a63479d9bf5f0dcfe1bfb7c.PNG)
Работает, но json плоский одноуровневый, а хочется с вложенными объектами.
Первый вариант БД кажется хорошим, пока вернул его обратно.
Нужен совет, как правильно сформулировать к нему запрос, принимаются и любые другие решения.
СУБД - MySQL, Laravel PHP, Eloquent ORM.