PHP Yii 标准选择有限制的随机记录

Aje*_*jey 3 php criteria yii

我的问题模型中有 1000 个问题。如何使用 Yii 标准从 10000 个问题中随机选择 50 个问题?

我使用Mysql作为数据库

到目前为止我已经尝试过以下方法

$criteria = new CDbCriteria;
$criteria->limit = 50;
$criteria->select = array('id');
$criteria->addCondition('chapter = xyz');
Run Code Online (Sandbox Code Playgroud)

Rus*_*Bes 5

如果你使用 MySQL 那么它是:

$criteria->order = 'RAND()';
Run Code Online (Sandbox Code Playgroud)

(更新自@topher 的回答)

在大量行上使用此技术将需要很长时间(来源):

一旦拥有 10000 行,对行进行排序的开销就变得很重要。

这种情况可以参考以下回答: