@Tokenchik

Как правильно написать запрос с ActiveRecord на Yii2?

Как правильно написать запрос используя ActiveRecord.
Есть таблица user, в ней поле date_contract. Необходимо получить количество пользователей по месяцам.
Смешно, но мне пока что только в голову такой вариант упорно лезет
$t1 = User::find()->where(['between', 'date_contract', '2017-01-01', '2017-01-31'])->count();
$t2 = User::find()->where(['between', 'date_contract', '2017-02-01', '2017-02-28'])->count();
$t3 = User::find()->where(['between', 'date_contract', '2017-03-01', '2017-03-31'])->count();
$t4 = User::find()->where(['between', 'date_contract', '2017-04-01', '2017-04-30'])->count();
$t5 = User::find()->where(['between', 'date_contract', '2017-05-01', '2017-05-31'])->count();
$t6 = User::find()->where(['between', 'date_contract', '2017-06-01', '2017-06-30'])->count();

6 разных запросов, 6 разных переменных, как правильно уместить все это в один запрос и получить один массив?
  • Вопрос задан
  • 271 просмотр
Решения вопроса 1
@Arik
Сначала надо понять какой надо сделать запрос в БД, чтоб получить данные, потом сделать под Yii2. Можно начать с такого
SELECT
    LEFT(`date_contract`, 0, 7) as `month`,
    COUNT(`id`) as `count`
FROM `users`
GROUP BY `month`
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы