yii多个复选框,因为数组未保存在数据库中

时间:2014-09-04 10:21:06

标签: php yii

我是yii框架的新手。

            <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>

这里我有多个checboxes作为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等......

但它保存为&#39; array&#39;。

如何解决这个问题?

请帮帮我

1 个答案:

答案 0 :(得分:1)

将此添加到您的模型中以将爱好保存为字符串:

protected function beforeSave() {
    parent::beforeSave();
    $this->varHobbies = implode(',', $this->varHobbies);
    return $this;
}