Yii - 通过 CDbCriteria 检索前 10 名


Yii - Retrieve top 10 through CDbCriteria

我到处找过,但我似乎找不到这个问题的解释或答案。

假设我有一个大约 200+ 用户的数据库。用户表中有两个字段都需要最高,才能成为第一用户。字段 1 比字段 2 更重要。

例如:字段 1 = 5 且字段 2 = 10 的用户高于字段 1 = 5 且字段 2 =

9 的用户,但低于字段 1 = 6 且字段 2 =2 的用户。

我希望能够生成所有用户的前 10 名。如果我可以选择排名倒数前 10 名或排名 20 到 30 的用户,那就太好了。

我使用 if Yii 框架,所以它可能看起来像这样:

 $criteria = new CDbCriteria;
 $users = Users::model()->findAll($criteria);

非常感谢您的时间和精力:)

你可以

像在sql中一样使用CDbCriteria::limitCDbCriteria::order。所以从 20 到 30 中选择:

$criteria->order = 'field1 DESC, field2 DESC'
$criteria->limit = '20, 10';

使用 CDbCritria ,像这样指定您的顺序:

$criteria->order = "field1, field2 DESC";

这应该先按字段 1 排序,然后按字段 2 排序