我使用 Yii 框架构建了一个网站应用程序。
我想使用带有这样查询的模型:
SELECT u.id, u.username, u.score, (SELECT COUNT(ownerId) FROM post p WHERE p.ownerId = u.id) AS totalPost
FROM users u
ORDER BY u.score DESC, totalPost DESC LIMIT 10
请帮我将查询转换为 Yii 框架中的模型。
这里是来自“Yii 权威指南”的相关章节 - http://www.yiiframework.com/doc/guide/database.arr
好吧,我认为您可以通过使用关系 'TotalPost' => array(self::STAT,'Post','OwnerId') 来简化这一点
检查 CStatRelation 了解更多详细信息。请注意,在此类中,select 属性是统计表达式,默认为 COUNT(*)。
此外,只要您有一个公开的 $TotalPost,您的查询就可以映射到用户模型中;在模型类用户中。