CakePHP 1.3: Как представить следующий код MySQL с помощью Count (*) AS Total - PullRequest
0 голосов
/ 30 января 2012

Мне нужна помощь для преобразования следующего кода MySQL в функцию поиска CakePHP

$users= mysql_query(
    "SELECT country, COUNT(*) AS total FROM users
        GROUP BY country
        ORDER BY total DESC
        LIMIT 15"
);

Это код поиска CakePHP, который у меня есть. Тем не менее, я скучаю по COUNT(*) AS Total

$users= $this->User->find(
    'all',
    array(
        'fields' => array(
            'country'
        ),
        'group' => 'country',
        'order' => 'country DESC',
        'limit' => 10
    )
);

Спасибо,

Ответы [ 2 ]

2 голосов
/ 31 января 2012
$this->User->find('all', array(
   'fields' => array('User.country', 'COUNT(*) AS total'),
   'group' => 'country',
   'order' => array('User.country' => 'DESC'),
   'limit' => 15
));
2 голосов
/ 30 января 2012

используйте find-> count для подсчета пользователей: http://book.cakephp.org/1.3/view/1020/find-count

и регулярно находите все, чтобы получать информацию о ваших пользователях.

$conditions = array("User.active" => 1);
$num_users = $this->User->find('count',array("conditions" => $conditions));
$users = $this->User->find('all',array("conditions" => $conditions));
$this->set(compact('users','num_users'));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...