我到处都看过,但我似乎无法找到这个问题的解释或答案。
假设我有一个包含大约 200 多个用户的数据库。用户表中有两个字段需要都为最高,才能成为排名第一的用户。 Field1 比 field2 更重要。
因此,例如:field1 = 5 和 field2 = 10 的用户高于 field1 = 5 和 的用户>field2 = 9 但低于 field1 = 6 和 field2 = 2 的用户。
我希望能够生成所有用户的前 10 名。另外,如果我可以选择后 10 名或排名 20 到 30 的用户,那就太好了。
我使用了 Yii 框架,所以它可能看起来像这样:
$criteria = new CDbCriteria;
$users = Users::model()->findAll($criteria);
非常感谢您的时间和精力:)
最佳答案
您可以像在 sql 中一样使用 CDbCriteria::limit
和 CDbCriteria::order
。所以要从 20 到 30 中选择:
$criteria->order = 'field1 DESC, field2 DESC'
$criteria->limit = '20, 10';
关于php - Yii - 通过 CDbCriteria 检索前 10 名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27216280/