这里是dropdownlist的代码..但是当我选择多个值时,它会给出验证错误“task must be string”
如何保存多个值(数组)?
<?php echo $form->field($model, 'task')->widget(Select2::classname(), [
'data' => $companiesList,
'options' => ['placeholder' => 'Select company...','multiple' => true],
'pluginOptions' => ['allowClear' => true,],
]);?>
如何为列表中的每个值提供复选框?
你必须在多对多表中保存多个值,
从Skull先生的答案改变规则到[['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;