@Leopandro
Разработчик CRM/ERP систем

Возможно ли это в yii2?

Как вместо $ids вставить значения из массива чтобы запрос работал? все перепробовал уже часов 6 потратил на это.
$ids = [1,2,3,4,5,6];
$query->select('product.id, product.name, product_id, 
COUNT(CASE WHEN product_ingredient.ingredient_id IN ('.$ids.') 
THEN 1 END) AS ing_count');

если биндить как параметр, то вставляется массив в кавычках, как строка. Если подзарпрос сделать через Expression то он все равно в кавычки значения массива заносит.
implode не решение,т.к. выходит IN (1, `2`, `3`, `4`, `5`, `6) в кавычках
  • Вопрос задан
  • 217 просмотров
Пригласить эксперта
Ответы на вопрос 1
sptm
@sptm
software developer / DevOps engineer
$ids = [1,2,3,4,5,6];
$query->select('product.id, product.name, product_id, 
COUNT(CASE WHEN product_ingredient.ingredient_id IN ('.implode(",", $ids).') 
THEN 1 END) AS ing_count');
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы