YII2 - 未在帖子中提交的下拉列表

时间:2014-06-11 11:53:55

标签: post drop-down-menu yii2

我是yii的新手,我正在使用下拉列表列出我控制器中需要的一些产品。

以下是视图代码:

<?php $form = ActiveForm::begin(); ?>

    <?= $form->field($company, 'dot_com_name')->staticInput() ?>
    <p> You have: <p>

    <?php echo $balance ?>   

    <?= $form->field($product,'dot_prod_id')->dropDownList(
        ArrayHelper::map(
            Product::find()->where(['dot_prod_com' =>$company->dot_com_id])->all(), 
           'dot_prod_id','dot_name'
        ), ['prompt' => 'Select']
    ) ?>

    <div class="form-group">
        <?= Html::submitButton('Redeem', ['class' => 'share']) ?>
    </div>

<?php ActiveForm::end(); ?>

在我的控制器中:

$product = new Product;
if ($product->load(Yii::$app->request->post())){
    echo "<script type ='text/javascript'>" .
         "alert('ID USER: ".$product->dot_prod_id."');" .
         "</script>";
    echo $product->dot_prod_id;
}

除了空格外,警报和回显不会返回任何内容。我做错了什么?

1 个答案:

答案 0 :(得分:1)

感谢Fortran,但我已经解决了。

对于使用model-&gt; load进行大规模分配,必须将模型属性设置为安全。如果您没有为这些属性设置其他规则或方案,请在模型规则中隐式设置这些属性:

public function rules() {
    return [
        [['dot_prod_id'], 'safe'],
    ];    
}