Yii 2.0:从视图中访问模型数据

时间:2016-12-22 19:19:35

标签: php model-view-controller yii view yii2

请建议从Yii 2.0中的视图模板访问模型的最佳做法。

我们说我有一个视图模板文件index.php,其中包含名为_form.php的其他模板,其中包含文件_params.php等。我需要访问某些模型&#39 ;方法。

所以我创建了这些模型并使用构造$this->render('_template', ['model' => $model, 'model2' => $model2, ...])将它们从视图传输到视图? 或者更好我需要使用小部件? 或者将模型包含到视图中并直接访问破坏MVC模式的规则?

例如,我只需要使用模型中的一个方法来创建下拉菜单。我应该转移整个模型?或者更好我应该在模型或控制器中准备下拉数组并转移该数组?

1 个答案:

答案 0 :(得分:0)

试试这个

例如文件

模型文件

  

$ product_details = ArrayHelper :: map(Products :: find() - > all(),'pid',

     

PRODUCT_NAME');

     

返回$ this-> render('new_purchase',['model'=>

     

$模型, '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>