Попытка вернуть пользователей, зарегистрированных в месяц, но не получить правильное количество в CakePHP 3? - PullRequest
0 голосов
/ 16 октября 2018

Я пытаюсь получить количество пользователей, которые зарегистрировались каждый месяц, разделенных по месяцам в результатах - так, январь - 22, февраль - 36, март - 56, и так далее, и так далее, ограниченный этим месяцем ипоследние пять

Тем не менее, я не могу получить правильный запрос, так как он относится к конструктору запросов CakePHP 3.Это то, что я до сих пор имею:

$query = $this->find('all');
$query->select(['count' => $query->func()->count('id'), 'day' => 'DAY(dateRegistered)']);
$query->where(['YEAR(dateRegistered)' => date('Y')]);
$query->group(['MONTH(dateRegistered)']);       
$query->enableHydration(false);
return $query->all();

Кажется, это возвращает количество пользователей за месяц, но это все, и не в легко графически-удобном формате.Я видел некоторые запросы в сыром SQL, поэтому это должно быть возможно, но я хотел бы использовать встроенные элементы управления запросами в Cake.Может ли кто-нибудь помочь исправить это?

1 Ответ

0 голосов
/ 17 октября 2018

Попробуйте это:

$query = $this->find();

    $res = $query
            ->select([
                'month'=>'monthname(created)',
                'count'=>$query->func()->count('*'),
            ])
            ->where('year(created) = year(curdate())')
            ->group('month')
            ->enableHydration(false);

    pr($res->toArray());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...