我正在尝试创建一个 Yii CModel 类,以便可以在过滤、排序的网格中查看数据。
它不应该太复杂,但我一生都无法弄清楚如何做到这一点。我正在寻找如何开始的分步说明集,但我找不到任何东西。:(
我不想使用数据库后端,所以我正在扩展 CModel。
我在下面放了一些代码,但我不确定下一步该做什么。实际数据去哪儿了?它必须进入一个数组或什么的?
任何帮助都会很棒。
我在下面放了一些代码,如果有帮助的话。这是我的模型:
class MyModel extends CModel{
public $id,
$attribute1,
$attribute2,
$attribute3;
public function search(){
$criteria = new CDbCriteria;
$criteria->compare('id', $this->id);
$criteria->compare('attribute1', $this->attribute1);
$criteria->compare('attribute2', $this->attribute2);
$criteria->compare('attribute3', $this->attribute3);
return new CActiveDataProvider($this, array(
'criteria' => $criteria,
));
}
public function attributeNames(){
return array(
'id',
'attribute1',
'attribute2',
'attribute3',
);
}
}
这是我的控制器:
class MyController extends CController{
public function actionIndex() {
$model = new MyModel('search');
$model->unsetAttributes();
if (isset($_GET['MyModel'])){
$model->setAttributes($_GET['MyModel']);
}
$this->render('index', array(
'model' => $model,
));
}
这是我的观点:
$this->widget('bootstrap.widgets.TbGridView', array(
'type'=>'striped bordered condensed',
'dataProvider'=>$model->search(),
'filter' => $model(),
'columns'=>array(
'id',
'attribute1',
'attribute2',
'attribute3',
)
));