<div class="col-md-5">
<input id="ytAdd_Employee_varHobbies" type="hidden" value="" name="Add_Employee[varHobbies]">
<span id="Add_Employee_varHobbies">
<input id="Add_Employee_varHobbies_0" value="5" type="checkbox" name="Add_Employee[varHobbies][]">
<label for="Add_Employee_varHobbies_0">BaseBall</label>
<br>
<input id="Add_Employee_varHobbies_1" value="2" type="checkbox" name="Add_Employee[varHobbies][]">
<label for="Add_Employee_varHobbies_1">Football</label>
<br>
<input id="Add_Employee_varHobbies_2" value="4" type="checkbox" name="Add_Employee[varHobbies][]">
<label for="Add_Employee_varHobbies_2">Hockey</label>
<br></div>
在这里,我有多个复选框作为数组,名称为 Add_Employee[varHobbies][]
在控制器中,我将表单另存为
$model->attributes=$_POST['Add_Employee'];
//print_r($model);exit;
$image_upload=$model->Image = CUploadedFile::getInstance($model,'Image');
if( $model->validate() && $model->save())
{ }
通过使用 $model->save() 我的所有字段都正确保存,但此复选框保存为数组。
在我的模型中,我将规则设置为
array('varHobbies', 'type', 'type' => 'array', 'allowEmpty' => false),
我想将爱好保存为 1,2,3 等等......
但它被保存为"数组"。
将其添加到模型中以将爱好保存为字符串:
protected function beforeSave() {
parent::beforeSave();
$this->varHobbies = implode(',', $this->varHobbies);
return $this;
}