Vano
Новичок
Для удобного добавления динамических условий советуют использовать метод andWhere(). А этот метод ставит в скобки все предыдущие условия. Допустим ^
Не очень понимаю, запрос тяжелее будет выполнятся? или потом эти скобки грозятся выйти боком?
Или может подскажите, как в условие передавать сночала массив, а потом и в формате операнд
Вот чтото типа этого, но может как-нибудь красивее. Может можна как-нибудь в filterWhere передать >=. Ато andWhere настораживает. А строками писать - это прошлый век.
Код:
$query->andWhere('status' => 1) ; // WHERE (status = '1')
$query->andWhere('visible' => 1); // WHERE (status = '1' ) AND (visible = '1')
$query->andWhere('city_id' => 1); // WHERE ((status = '1' ) AND (visible = '1')) AND (city_id = '1')
$query->andWhere('blahblah' => 1); // WHERE (((status = '1' ) AND (visible = '1')) AND (city_id = '1')) AND (blahblah = '1')
Или может подскажите, как в условие передавать сночала массив, а потом и в формате операнд
Код:
$query->filterWhere([
'status' => Yii::$app->request->get('status'),
'type' => Yii::$app->request->get('type'),
'blahblah' => Yii::$app->request->get('blahblah'),
]);
if( $_GET['blahblah'] == 6 ) $query->andWhere(['>=', 'blahblah', 6]);