Задача: Необходимо получить число записей за текущие сутки, которые имеют определенную ссылку или email.
Проблема: ActiveRecord объединяет where и andWhere() в одно условие. Выходит: "Получить все записи, которые сделаны сегодня и имеют ссылку $link ИЛИ записи с $email"
вместо "Получить все записи за сегодня, которые имеют $link или $email".
В AR имею следующую конструкцию:
Order::find()->where('date > UNIX_TIMESTAMP(CURDATE())')
->andWhere(['link' => $link])
->orWhere(['email' => $email])
->count();
На выходе получаю следующий SQL-запрос:
SELECT COUNT(*) FROM `order` WHERE ((date > UNIX_TIMESTAMP(CURDATE())) AND (`link`='somelink')) OR (`email`='limit@gmail.com')'
Вопрос: Как заставить ActiveRecord разделить условия where и andWhere?
inb4: Понимаю, что можно с помощью findBySql() решить задачу, хочу уточнить можно ли с ActiveQuery решить