在我的模型中,我有一个函数来生成ID的随机列表。如何在我的模型中创建这样的查询?

select * from `table`
  where (ID % 1000) = floor(rand() * 1000)
  AND `type`='11'
  order by rand()
  limit 40

我知道我可以使用query builder方法,但是我想知道是否有一种方法可以使用ABC::model()->findAll()...这样的方法

最佳答案

您始终可以使用CDbCriteria

$criteria = new CDbCriteria();
$criteria->addCondition('`t`.`id` % 1000 = floor(rand() * 1000)');
$criteria->compare('`t`.`type`', 11);
$criteria->order = 'rand()';
$criteria->limit = 40;

ABC::model()->findAll($criteria);

关于php - Yii中的复杂查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38611444/

10-16 09:40