这里是dropdownlist的代码..但是当我选择多个值时,它会给出验证错误“task必须是字符串”
如何保存多个值(数组)?
<?php echo $form->field($model, 'task')->widget(Select2::classname(), [
'data' => $companiesList,
'options' => ['placeholder' => 'Select company...','multiple' => true],
'pluginOptions' => ['allowClear' => true,],
]);?>
如何为列表中的每个值设置复选框?
答案 0 :(得分:0)
您必须在多对多表格中保存多个值
从骷髅先生的答案中将规则更改为[['task'], 'safe']
之后,您必须获得以下所有数据:
foreach ( $model->task as $single_task){
$task = new _many_to_many_model();
$task->side_1_id = single_task;
$task->side_2_id = $model->id;
$task->save();
}
发表评论后:
所有选定的值应该放在单列
中你不需要使用多对多! 我使用“ - ”作为分隔符,
$all_taskes = "";
foreach ( $model->task as $single_task){
$all_taskes .= single_task."-";
}
$model->task = all_taskes;
答案 1 :(得分:0)
你好,
Contact Form