Сайт на symfony 3.4
Есть 2 таблицы:
product
и category
Необходимо вывести информацию из этих таблиц в виде:
Так, чтобы отображалось количество продуктов в каждой категории товаров
Написал вот такой DQL запрос:
SELECT a.id, a.category, a.enabled, COUNT(b.id) as prcnt
FROM AppBundle:Category a
JOIN AppBundle:Product b WITH a.id = b.category
WHERE a.enabled = :enabled
И в отладку вывел результат:
array:1 [▼
0 => array:4 [▼
"id" => 1
"category" => "Фантастика"
"enabled" => true
"prcnt" => "6"
]
]
Как видите нашлась только 1 категория, к томуже неправильно посчитал COUNT, в категории "Фантастика" 4 товара, а он посчитал вообще все товары - 6.
Где ошибка в моём DQL-запросе? Почему на выходе только 1 категория? Как правильно написать этот DQL-запрос? И зачем в DQL ввели WITH вместо ON??
И вообще по best practice в symfony лучше писать DQL-запросы или использовать сборщик createQueryBuilder?
Для отображения результатов по конкретной категории необходимо выполнить группировку. В данном случае:
SELECT a.id, a.category, a.enabled, COUNT(b.id) as prcnt
FROM AppBundle:Category a
JOIN AppBundle:Product b WITH a.id = b.category
WHERE a.enabled = :enabled
GROUP BY a.id
Виртуальный выделенный сервер (VDS) становится отличным выбором
Подскажите пожалуйста, есть тег <input name="upload[]" type="file" multiple="multiple" /> Как сделать условие php если input имеет файлВопрос так и не решен
Пытаюсь сделать выгрузку товаров из корзины магазина с помощью PHPExcel