Приветствую, впал в ступор, давно не работал напрямую с мусклей, не могу понять - а можно ли сделать как нужно, или придется еще запрос отправлять.
Есть в общем база постов, у поста есть
post_id, post_name.
Есть база картинок к постам
image_id, post_id, image_local_href
Сначала хотел через промежуточную базу, но т.к. дальше с этими сущностями работы не будет, то и не стал (можете объяснить почему все же нужно было через промежуточную)
Далее достаю все записи
SELECT post_name, image_local_href FROM posts as p
LEFT JOIN images as img
ON img.post_id = p.post_id
ORDER BY p.post_id DESC
Достается все верно, но! Если у поста 10 картинок, я получаю пост, кратно соответствующему ему числу картинок
[6]=>
array(2) {
["post_name"]=>
string(29) "a"
["image_local_href"]=>
string(52) "C:/OpenServer/domains/vuerss/assets/images/35299.jpg"
}
[7]=>
array(2) {
["post_name"]=>
string(52) "b"
["image_local_href"]=>
string(51) "C:/OpenServer/domains/vuerss/assets/images/3404.jpg"
}
[8]=>
array(2) {
["post_name"]=>
string(52) "b"
["image_local_href"]=>
string(52) "C:/OpenServer/domains/vuerss/assets/images/95585.jpg"
}
[9]=>
array(2) {
["post_name"]=>
string(52) "b"
["image_local_href"]=>
string(51) "C:/OpenServer/domains/vuerss/assets/images/7618.jpg"
}
А теперь суть моего поста:
1) Можно ли достать сразу из базы записи таким образом, чтобы пост b содержал в себе сразу нужные мне доп. выбранные поля и не дублировался из-за каждой картинки?
2) Если невозможно, стоит ли переделать поля базы? Посоветуйте более удобный вариант. Все таки стоит использовать промежуточную базу один-ко-многим?
3) Обработать выборку уже непосредственно в пхп и сформировать массив там?
4) Вытащить подгрузку картинок к постам в отдельную апи (пишу апи, фронт на вьюжс) и инициировать после подгрузки постов? (не хочу плодить запросы)
5) Оставить массив как есть и разбирать его на фронте?