2016-05-16 3 views
0

3つのモデルに基づいて3つの異なるgridviewのエコーを1ページに収めました。モデルには接続がありません。 chechboxを使って各グリッドから特定のデータを収集し、同じDBテーブルにそれらを送信したいと思います。 これは、表示ページです:Yii2から3 GridviewのデータをDataBaseに渡す

/** Operators Grid View **/ 
<?= GridView::widget([ 
    'dataProvider' => $dataProvider, 
    'filterModel' => $searchModel, 
    'columns' => [ 
        ['class' => 'yii\grid\SerialColumn'], 

        [ 'attribute' => 'useralias', 
        'label' =>'Operator Name',], 

        [ 'class' => 'yii\grid\CheckboxColumn',], 

        [ 'attribute' => 'currency', 
        'label' =>'Operator Currency',], 

        ['class' => 'yii\grid\ActionColumn', 'template' => '{view}'], 
        ], 
]); ?> 

    /** Country Grid View **/ 
    <?= GridView::widget([ 
    'dataProvider' => $dataProviderCountry, 
    'filterModel' => $searchModelCountry, 
    'columns' => [ 
        ['class' => 'yii\grid\SerialColumn'], 

        [ 'class' => 'yii\grid\CheckboxColumn',], 


        [ 'attribute' => 'popis', 
        'label' =>'Country',], 

        ['class' => 'yii\grid\ActionColumn', 'template' => '{view}'], 
        ], 
]); ?> 
    /** Currency Grid View **/ 

    <?= GridView::widget([ 
    'dataProvider' => $dataProviderCurrency, 
    'filterModel' => $searchModelCurrency, 
    'columns' => [ 
        ['class' => 'yii\grid\SerialColumn'], 

        [ 'attribute' => 'currency_name', 
        'label' =>'Currency Name',], 
        [ 'class' => 'yii\grid\CheckboxColumn',], 


        [ 'attribute' => 'value', 
        'label' =>'Value',], 

        ['class' => 'yii\grid\ActionColumn', 'template' => '{view}'], 
        ], 
]); ?> 

これは、コントローラからのインデックス機能である:私はこれのために何かを見つけることができません

public function actionIndex() 
{ 
      //RMS 
    $searchModel = new CardrmsSearch(); 
    $dataProvider = $searchModel->search(Yii::$app->request->queryParams); 
      //Country 
      $searchModelCountry = new CountrySearch(); 
    $dataProviderCountry = $searchModelCountry->search(Yii::$app->request->queryParams); 
      //Currency  
      $searchModelCurrency = new CurrencySearch(); 
    $dataProviderCurrency = $searchModelCurrency->search(Yii::$app->request->queryParams); 

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

、私の考えは、データを収集するためのアクションを作成することでしたが、 3つの選択されたチェックボックスのすべてのデータを1つのステップでまとめる方法はわかりません! Plzどのようにヒントを行うことができますか?

+0

GridViewは、レコードを一覧表示するためのビューです。データを収集しようとしているコードはどこですか?いくつかのスクリーンショットを投稿すると、問題を理解するのに役立ちます。 –

+0

http://prntscr.com/b4lxg2 – Alexei

+0

リンクに表示されているように、すべてのデータがあります。ボタンを押した後、選択したデータを1つのDBテーブルに挿入して、次のアルゴリズムに使用します。 – Alexei

答えて

0

最初にアクティブな形式でグリッドをラップします。すべてのグリッドでチェックボックスのためにあなたが

<?php $form = ActiveForm::begin([ 
     'action' => 'your-action' 
    ]); 

ダンプが欲しい、これまで

[ 
    'class' => 'yii\grid\CheckboxColumn', 
    'name'=>'anyname' 

], 

セットのフォームアクションを名前を設定し、そのアクションにPOSTデータを参照するよりも、あなたがのために選択された行に表すIDの配列を取得します各グリッド。 各グリッドのチェックボックスの名前でデータを区別することができます。

+0

Txたくさん私はこれをやろうとします。 – Alexei

関連する問題