我正在使用Yii-dynamic-active-record模型类来获取数据并将其放入各种数据库表中。现在我想使用 cgridview 来快速构建这些数据的一些视图,但是我正在为这个类编写一个搜索函数而挂了。
我知道我总是可以在视图中执行一个 foreach 循环并制作我自己的 html 表,但是如果我能让 Yii 方式工作,那将非常适合 DRY。
*所有 db 表都有一个 ID 列,这是唯一真正需要显示的列......如果你能得到所有的列,那就是加分。
谢谢 :)
模型
public function search()
{
$criteria=new CDbCriteria;
$criteria->compare('ID',$this->ID);
return new CActiveDataProvider($this, array(
'criteria'=>$criteria,
));
}
看法
$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'entry-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
'ID',
),
));
控制器
$tablename=$_GET['tname'];
$table=Entry::forTable($tablename);
$model=$table->findAll();
if(isset($_GET['Entry']))
$model->attributes=$_GET['Entry'];
$this->render('all',array(
'model'=>$model,
));