2

Widget を使用せずにモデルからデータを取得する方法のサンプルを教えてもらえますか? テーブルの列ごとにデータを取得し、それらを自分のビュー内に配置する必要があるため (ウィジェットを使用しない)

コントローラー:

public function actionIndex() {
        $searchModel = new B2CProductsSearch();
        $dataProvider = $searchModel->search(Yii::$app->request->queryParams);

        return $this->render('index', [
            'searchModel' => $searchModel,
            'dataProvider' => $dataProvider,
        ]);
}

意見 :

<?= GridView::widget([
        'dataProvider' => $dataProvider,
        'filterModel' => $searchModel,
        'columns' => [
        ['class' => 'yii\grid\SerialColumn'],
        'id',
            'sku',
            'name',
            'short_description',
            'long_description',
            'thumb_img:ntext',
            'large_img:ntext',
            'url_content:ntext',
             'contact_info',
             'status',
            'currency',
             'price',
            'dimension',
            'weight',
            // 'created',
            // 'modified',

            ['class' => 'yii\grid\ActionColumn'],
        ],
    ]); ?>

上記のウィジェットは、事前定義されたグリッドビュー内の要素を反復処理しますが、代わりにやりたいことは次のようなものです:

foreach($data as $ab) {
   echo $ab->id;
}
4

2 に答える 2