【发布时间】:2012-03-08 18:40:02
【问题描述】:
我有两张桌子
用户和cmets
cmets 与用户是多对一的关系
想办法使用 ORM 根据 cmets 的数量获得顶级用户
有什么建议吗?
【问题讨论】:
标签: php kohana kohana-orm
我有两张桌子
用户和cmets
cmets 与用户是多对一的关系
想办法使用 ORM 根据 cmets 的数量获得顶级用户
有什么建议吗?
【问题讨论】:
标签: php kohana kohana-orm
您的查询应如下所示:
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();
【讨论】: