Checkbox 在控制器中获取复选框值数组

Checkbox 在控制器中获取复选框值数组,checkbox,yii,yii2,Checkbox,Yii,Yii2,表单中有这样一组复选框 $form->field($model, 'ingredients')->checkboxList( ArrayHelper::map($ingredients, 'id', 'name') ) 在html中,它看起来像 <input name="Dish[ingredients][]" value="1" type="checkbox"> <input name="Dish[ingredients][]" valu

表单中有这样一组复选框

$form->field($model, 'ingredients')->checkboxList(
        ArrayHelper::map($ingredients, 'id', 'name')
    )
在html中,它看起来像

<input name="Dish[ingredients][]" value="1" type="checkbox">
<input name="Dish[ingredients][]" value="2" type="checkbox">
但我得到一个空数组

补充:

配料属性在生成的模型菜中不存在,我后来手工添加了它。菜肴和配料有多对多的关系。 如何正确地将配料添加到鱼模型中

现在如果我这样做了

$model = new Dish();
$model->load(Yii::$app->request->post());
var_dump($model->ingredients);
$model->components是空数组

在菜肴模型中创建配料属性:

将所有post数据加载到模型中,然后访问配料数组:


我在问题中澄清了这个问题,只需创建一个AtterBute来加载数组,然后使用itI,我添加了成分设置器,一切都正常。盖特已经死了。与公共财产也有关系。非常感谢。
$model = new Dish();
$model->load(Yii::$app->request->post());
var_dump($model->ingredients);
public class Dish {
  public $ingredients;
  ...
}
$model = new Dish();
$model->load(Yii::$app->request->post());
var_dump($model->ingredients);