$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,
));
使用后,此代码获得一个白色屏幕,没有任何操作,它应该排序发生这种情况的原因以及如何解决这个问题?
答案 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);