尽管我知道 a 上的group
、和选项contain
,但我似乎无法使用 CakePHP 2.2.3 进行以下查询:fields
order
find()
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
具有Influences
1、2、3 和 4的数组,然后按.COUNT()
Influences
COUNT() DESC
在 CakePHP 中是否有一种干净的方法(我不想使用任何 hack 或类似的函数Model::query()
)?
编辑: 它实际上不是一个SUM()
,而是一个,COUNT()
虽然我没有改变我的问题。