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

时间:2017-04-05 07:42:02

标签: 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][]" value="2" type="checkbox">

如何在控制器的actionCreate方法中获取一组复选框值?

我尝试这样做

Yii::$app->request->post('Dish[ingredients]', [])

但我得到一个空数组。

增加:

生成的模型Ingredients中不存在

Dish属性,我之后手动添加了它。 DishIngredientsmany to many关系。 如何正确地将ingredients添加到Dish模型?

现在,如果我这样做

$model = new Dish();
$model->load(Yii::$app->request->post());
var_dump($model->ingredients);

$model->ingredients是空数组。

1 个答案:

答案 0 :(得分:1)

float marks = Float.parseFloat(value1 + value2 + value3 + value4 + value5 + value6 + value7); 模型中创建ingredients属性:

Dish

将所有发布数据加载到模型中,然后访问public class Dish { public $ingredients; ... } 数组:

ingredients