0

私は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,
));
4

1 に答える 1