我是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;
}
除了空格外,警报和回显不会返回任何内容。我做错了什么?
答案 0 :(得分:1)
感谢Fortran,但我已经解决了。
对于使用model-&gt; load进行大规模分配,必须将模型属性设置为安全。如果您没有为这些属性设置其他规则或方案,请在模型规则中隐式设置这些属性:
public function rules() {
return [
[['dot_prod_id'], 'safe'],
];
}