Я пишу подключаемый модуль для системы, которая использует CakePHP 1.2, и я новичок в этой среде. Как выполнить следующий запрос Cake way?
SELECT a.id, a.name, COUNT(a.id) AS comments
FROM articles a LEFT JOIN comments c ON a.id = c.item_id
GROUP BY a.id
ORDER BY comments DESC;
Я не могу редактировать модели Article или Comment, но я пытаюсь это сделать в модели моего плагина, и она не дает того же результата:
$this->loadModel('Article');
$options['fields'] = array('Article.id', 'Article.name',
'COUNT(Article.id) AS comments');
$options['joins'] = array(
array('table' => 'comments',
'alias' => 'c',
'type' => 'INNER',
'conditions' => array(
'Article.id = c.item_id')
));
$options['group'] = array('Article.id');
$options['order'] = 'comments DESC';
$options['limit'] = 5;
$rows = $this->Article->find('all', $options);
Кроме того, я не уверен, но думаю, что класс Article может уже иметь:
public $actsAs = array('Containable');
public $hasMany = array('Comment');