Yii 如何在CGridView中显示findall()的结果?
我想通过findall()和condition在CGridView中显示数据Yii 如何在CGridView中显示findall()的结果?,yii,Yii,我想通过findall()和condition在CGridView中显示数据 public function actiondatabase($id){ $model=Lecture::model()->findAll('subject_id=2'); if(isset($_GET['Lecture'])) $model->attributes=$_GET['Lecture']; $this->render('database',a
public function actiondatabase($id){
$model=Lecture::model()->findAll('subject_id=2');
if(isset($_GET['Lecture']))
$model->attributes=$_GET['Lecture'];
$this->render('database',array(
'model'=>$model,'dep'=>$id
));
in-view database.php
$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'lecture-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
'id',
'name'
));
!![这是我的代码的结果,现在应该做什么][帮助]CGridView需要一个数据提供者,在您的例子中是一个cactivedaptrovider,因为您希望从数据库检索数据。您可以为CActiveDataProvider添加与findAll()相同的属性(如“条件”、“顺序”、“with”等),例如: 型号:
public function myDataProvider()
{
$dataProvider=new CActiveDataProvider('Post', array(
'criteria'=>array(
'condition'=>'subject_id=2',
),
'pagination'=>array(
'pageSize'=>20,
),
));
return $dataProvider;
}
$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'lecture-grid',
'dataProvider'=>$model->myDataProvider(),
'filter'=>$model,
'columns'=>array(
'id',
'name'
));
查看:
public function myDataProvider()
{
$dataProvider=new CActiveDataProvider('Post', array(
'criteria'=>array(
'condition'=>'subject_id=2',
),
'pagination'=>array(
'pageSize'=>20,
),
));
return $dataProvider;
}
$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'lecture-grid',
'dataProvider'=>$model->myDataProvider(),
'filter'=>$model,
'columns'=>array(
'id',
'name'
));
然后我应该使用$model=new讲座('search');或者$model=讲座::model()->findAll();?不,CActiveDataProvider为您执行“findAll()”。如果您想了解gridview的工作原理,请查看此处: