尽管我知道 a 上的group、和选项contain,但我似乎无法使用 CakePHP 2.2.3 进行以下查询:fieldsorderfind()
SELECT `User`.*, SUM(`Influence`.`id`) AS matches
FROM `db`.`users` AS `User` 
    LEFT JOIN `db`.`influences_users` AS `InfluencesUser` ON (`User`.`id` = `InfluencesUser`.`user_id`) 
    LEFT JOIN `db`.`influences` AS `Influence` ON (`InfluencesUser`.`influence_id` = `Influence`.`id`)
WHERE 1 = 1
AND `Influence`.`id` IN (1, 2, 3, 4)
GROUP BY `User`.`id` 
ORDER BY COUNT(`Influence`.`id`) DESC
基本上,我正在尝试使用表上的函数检索Users具有Influences1、2、3 和 4的数组,然后按.COUNT()InfluencesCOUNT() DESC
在 CakePHP 中是否有一种干净的方法(我不想使用任何 hack 或类似的函数Model::query())?
编辑: 它实际上不是一个SUM(),而是一个,COUNT()虽然我没有改变我的问题。