Но как-то громоздкая выходит конструкция
update "Cartridges"
set printed = 5 , updatedByUserId = 4
where "Cartridges".id = 2
Можно ли как-то это всё прогнать через цикл, чтобы избавиться от дублирования кода?
при нажатии на кнопку скрипт обновляет значение поля в БД, или при необходимости создаёт новую строку с нужным значением.
Важный момент: переменная $one изменяет своё значение от кнопке к кнопке, поэтому нужно чтобы код, который будет зациклен учитывал это, и изменял значение на нужное.
зачем лефт джойн?
...
...
WHERE 1=1
? AND o.city_id = $1 ?
? AND oc.category_id = $2 ?
$sql = "
SELECT COUNT(o.id)
FROM organizations o
LEFT JOIN organizations_categories oc ON o.id = oc.organization_id
WHERE o.id IN (
SELECT f.organization_id
FROM features f
WHERE f.name = (
SELECT f2.name
FROM features f2
WHERE f2.id = %d
)
)
AND o.city_id = %d
AND oc.category_id = %d
";
$sql = sprintf($sql, $features_id, $city_id, $category_id);
$query = $this->getEntityManager()->createNativeQuery($sql, $rsm);
напишите корректно что вы вообще хотите получить? что делает date в выборке с группировкой?? что там должно быть выбрано, ведь по date делать группировку абсурдно.