Задать вопрос

Как посчитать количество с ActiveRecord?

Добрый день.
Как посчитать количество городов в таблице ?
`id`,`user`,`country_id`,`city_id`
Как получить просто кол-во записей - понятно
<?= User::find()->count()?>
А как посчитать количество городов у пользователя?
Я сам запрос не понимаю по подсчету уникальных городов
  • Вопрос задан
  • 4297 просмотров
Подписаться 3 Простой 1 комментарий
Решения вопроса 1
max7
@max7
max7
1. SELECT COUNT(DISTINCT `city_id`) AS `city_count`  FROM `user_table`;
2. SELECT `user`, COUNT(DISTINCT `city_id`) AS `city_count` FROM `user_table` GROUP BY `user`;
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Можно использовать realation типа stat.
Вот примерный код для вашего случая:

class User extends CActiveRecord
{
    public function relations()
    {
        return array(
            'cityCount'=>array(self::STAT, 'City', 'city_id'),
        );
    }
}
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
26 дек. 2024, в 23:03
500 руб./в час
26 дек. 2024, в 21:50
5000 руб./за проект
26 дек. 2024, в 21:01
10000 руб./за проект