@AlexSer

Yii2 ActiveRecord проблема с запросами SQL?

Всем привет!!! Делаю запросы с подсчетами количества строк, и заметил что, запросы SQL как бы соединяется.
Например я создал
$query=Custum::find()->joinWith('order')->where(['id'=>101])
$count_custom=$query->count();

eсли мне надо добавить условие соответственно я добавляю просто andWhere()->count();
Но заметил что если я ввожу новый параметр с этим же $query, почему то он отображает добавленные andWhere, соответсвенно мои подсчеты неверны. В чем проблема?
  • Вопрос задан
  • 41 просмотр
Пригласить эксперта
Ответы на вопрос 1
v3shin
@v3shin
Веб-шаман
$query = Custum::find()->joinWith('order')->where(['id'=>101]); // возвращает ActiveRecord с условием where
$count_custom = $query->count(); // считает с условием where
$query->andWhere(условие); // добавляет $query условие andWhere, теперь в нем два условия: where и andWhere

Вы же про это спрашиваете?

UPD:
$query->andWhere() меняет объект $query. Если вам надо применить разные условия, используйте конструкцию (clone $query)->andWhere().
Ответ написан
Ваш ответ на вопрос

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

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