2015-07-07 3 views
5

Можно ли сделать условие WHERE IN с активной записью? Я просматриваю документацию, но я не могу найти этот случай. Мне нужно выполнить этот запрос и вернуть значение счета.Yii2 - WHERE IN с активной записью

Это метод я использую сейчас:

public function static findProductsOnSale($ids) 
    { 
     return $this->find()->where(['product_id' => $ids])->count(); 
    } 

ответ

12

Как documentation about where() говорит:

[ 'ID' => [1, 2, 3], 'статус' => 2] генерирует (id IN (1, 2, 3)) И (статус = 2)

поэтому ваш метод должен быть правильным. Если вы хотите использовать IN тогда ваш код должен выглядеть следующим образом:

public function static findProductsOnSale($ids) 
{ 
    return $this->find()->where(['in', 'product_id', $ids])->count(); 
} 
Смежные вопросы