2016-12-22 10 views
0

Yii 2.0のビューテンプレートからモデルにアクセスするのがベストプラクティスであることをお勧めします。Yii 2.0:ビューからのモデルデータへのアクセス

私はビューテンプレートファイルと呼ばれる他のテンプレート_params.phpなどを含むindex.phpを持っているとしましょう。私はいくつかのモデルのメソッドにアクセスする必要があります。

私はこれらのモデルを作成して、ビューからビューに転送します。$this->render('_template', ['model' => $model, 'model2' => $model2, ...])? それ以上ウィジェットを使用する必要がありますか? モデルをビューに組み込み、MVCパターンのルールを直接破棄することにアクセスしますか?

たとえば、モデルからドロップダウンメニューを作成するメソッドを1つだけ使用する必要があります。私は全モデルを転送する必要がありますか?または、モデルやコントローラのドロップダウン配列を準備し、代わりにその配列を転送する必要がありますか? (全て> -

+0

あなたがしなければならない場合、... Yiiはあなたが一般的な規則が存在しないことを言うことができるさまざまな方法を提供し、それはあなたが達成したい結果の種類に依存するため個々のモデルが必要な場合は、コレクションを管理するdataProviderとウィジェットを使用できるアイテムのコレクション(1つ以上のモデルと1つ以上のウィジェットを使用することができます)。しかし、より正確な答えを得るには、正確で詳細な – scaisEdge

答えて

0

は、サンプルファイル

モデルファイル

$ product_details = ArrayHelper ::マップ(製品::見つける()のために、この1

をお試しください)、 'pid'、

product_name ');

戻りの$ this - >( 'new_purchase' [ 'モデル' =>

$モデル、 'product_details' => $ product_details])レンダリング。

ビューファイル

<select name="product_id[]" class="form-control"> 

    <?php foreach($product_details as $key=>$val) 

    { 


    ?> 
     <option value="<?php echo $key; ?>"><?php echo $val; ?></option> 

    <?php } ?> 

    </select> 
関連する問題