php - Yii - 通过 CDbCriteria 检索前 10 名

标签 php mysql yii

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

假设我有一个包含大约 200 多个用户的数据库。用户表中有两个字段需要都为最高,才能成为排名第一的用户。 Field1 比 field2 更重要。

因此,例如:field1 = 5field2 = 10 的用户高于 field1 = 5 的用户>field2 = 9 但低于 field1 = 6field2 = 2 的用户。

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

我使用了 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';

关于php - Yii - 通过 CDbCriteria 检索前 10 名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27216280/

相关文章:

php - Json 返回 'null'

php - 有没有像 smush.it 这样的 php 脚本来优化我网站上的本地镜像?

php - 如何使用相同的 CakePhp 设置开发网站和 API

java - 将 Java Web 项目部署到物理服务器

php - Yii2:从供应商目录中的 Controller 运行控制台命令

php - 迁移和错误: Forbidden You don't have permission to access/on this server

php - 选择框中选择的不同值和 id

php - 从 session 中获取用户数据 Codeigniter

javascript - Yii CJuiAutoComplete - 在 php 中将用户选择的值存储到数据库的最简单方法?

php - 尝试在 yii 数据库中存储多个复选框的 id 时出错