我想从具有特定0123'子句的表中随机获得一个ID,但我有问题要求它返回ID,它表示Undefined index: id
。Yii createCommand不会返回正确的结果
$space = Yii::app()->db->createCommand()
->select('id')
->from('space')
->where('id=rand() AND visibility=2')
->limit(1)
->queryAll();
//->queryRow();
echo $space['id'];
他不是正确的方法吗?
我想出了另一个解决方案,使用已加载的信息从我的原始版本没有来宾检查。
$max = Space::model()->count();
$randId = rand(0,$max);
$space = Space::model()->find(array('offset'=>$randId));
if ($space->attributes['visibility'] == 2) {
感谢伟大的解释。不过,我有一个问题,它如何可以将ID识别出来,但没有得到结果?如果它得到一个RAND()ID,它必须是一个ID?没有?我也认为'rand()'会很慢,并且使用我以前的方法找到了更好的方法。 – 2015-04-02 18:21:16