我有一个关于 CakePHP SQL 查询的问题。我需要从给出 shop_id 的数据库中获取产品,然后对产品进行计数。我需要的只是 Product.url 及其数量。
这将在普通 SQL 中完成技巧:
SELECT url,COUNT(*) as count FROM products GROUP BY url ORDER BY count DESC;
这是我用来获取所有与商店相关的产品:
$this->Product->find('all', array('conditions' => array('Product.shop_id'=>$id)));
这可以正常工作,但我需要将上面的 SQL 查询转换为 CakePHP。
我试过这样的事情:
$this->Product->find('count', array('conditions' => array('Product.shop_id'=>$id),
'fields'=>array('Product.url','Product.id'),
'order'=>'count DESC',
'group'=>'Product.url'));
那只返回一个int。但是,如果我在 mysql 服务器中运行上面介绍的 SLQ 查询,我会得到两列:url 和 count。如何使用 CakePHP 获得相同的结果?