@samashki777

Как правильно составить SQL запрос один ко многим?

Добрый вечер, есть 2 таблицы - company (id, title, descr), company_images (id, company_id, image).
На сайте выводятся компании и их фотки в каждой карточке компании.
5d2f82a9a519e087851632.png
Выбрать все фотки определенной компании по отдельности я могу, но проблема заключается в том, что мне сразу нужно выводить на странице несколько компаний и по несколько фоток каждой компании (цикл в цикле). Как это грамотно сделать средствами php? На данный момент я подгружаю фотки с помошью ajax, после того как подгрузились все компании.
  • Вопрос задан
  • 113 просмотров
Пригласить эксперта
Ответы на вопрос 3
tsklab
@tsklab
Здесь отвечаю на вопросы.
Определитесь, как вы будете фильтровать компании. А потом соедините этот список с таблицей изображений (один запрос) или делайте отдельный запрос для каждой компании.
Ответ написан
Gomonov
@Gomonov
SELECT * FROM company_images WHERE company_id IN (айди компаний через запятую)
Ответ написан
Комментировать
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Например, так:
SELECT `c`.`id`, `c`.`title`, `c`.`descr`, `i`.`images`
  FROM `company` AS `c`
  LEFT JOIN (
    SELECT `company_id`, GROUP_CONCAT(`image`) AS `images`
      FROM `company_images`
      GROUP BY `id`
  ) AS `i` ON `i`.`company_id` = `c`.`id`
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы