排序到DASC在Yii中不起作用?

时间:2014-10-31 20:18:20

标签: php yii

$model = new TableName('search');

        $criteria = new CDbCriteria;
        $criteria->order = 'id DESC';
        $model = $model->findAll($criteria);

        $model->unsetAttributes();  // clear any default values
        if (isset($_GET['TableName']))
            $model->attributes = $_GET['TableName'];

        $this->render('TableNameView', array(
            'model' => $model,
        ));

使用后,此代码获得一个白色屏幕,没有任何操作,它应该排序发生这种情况的原因以及如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

您覆盖$model变量的原始值。

$model = $model->findAll($criteria);

之后$model不再是TableName的实例了! findAll returns TableName列表。因此,您必须遍历此列表才能获得TableName的单个实例。

$models = $model->findAll($criteria);
foreach( $models as $model ) {
    // do something with $model
}

或者,如果您只需要获取最后一条记录,则可以使用find

$criteria = new CDbCriteria;
$criteria->order = 'id DESC';
$model = $model->find($criteria);