kohana orm顶级用户

时间:2012-03-08 18:40:02

标签: php kohana kohana-orm

我有2张桌子

用户和评论

评论与用户有多对一的关系

尝试考虑使用ORM根据评论数量获得最高用户的方式

有什么建议吗?

1 个答案:

答案 0 :(得分:5)

您的查询应如下所示:

SELECT users.username, COUNT(comments.id) AS total 
FROM users 
INNER JOIN comments 
ON users.id = comments.user_id 
GROUP BY users.username 
ORDER BY COUNT(comments.id) DESC

转换为ORM:

ORM::factory('user')
   ->select('user.username', array('COUNT("comments.id")', 'total'))
   ->join('comments', 'INNER')
   ->on('user.id', '=', 'comments.user_id')
   ->group_by('user.username')
   ->order_by('total', 'DESC')
   ->find_all();