如何在Yii Web应用程序中保存多个选定的字段

时间:2013-03-07 12:50:24

标签: yii yii-extensions yii-events

我是Yii的新手,我已经创建了一个应用程序,我创建了一个字段作为多选项,如下所示......任何人都可以帮我如何将数据保存到我的mysql表中我必须做什么改变以及我必须改变的地方..我想保存所选的每个部门必须保存为行

 <?php 
     $data = array('101' => 'CSE', '102' => 'IT', '103' => 'EEE', '104' => 'ECE');
$selected   = array(
  '102' => array('selected' => 'selected'),
  '103' => array('selected' => 'selected'),
);
$htmlOptions = array('size' => '5', 'prompt'=>'Use CTRL to Select Multiple Staff', 'multiple' => 'true', 'options' => $selected);
    echo $form->listBox($model, 'department',$data, $htmlOptions, array('rows' => 6, 'cols' => 50, 'class' => 'text_area')); ?>
</div>

2 个答案:

答案 0 :(得分:1)

您可以通过在控制器中定义操作轻松完成此操作

public function actionCreate(){
$model = new modelName;
if(isset($_POST['attribute']))
    {
      $model->attributes = $_POST['attributes'];
        if($model->validate()) 
           { 
             $model->save();
           }else{ "Exception Statement"}
    }

答案 1 :(得分:0)

我想将单个选项保存为表格中的一行我将值作为数组获取我必须更改代码以保存多个选项中的值....以下代码的输出是部门是&#34;数组&#34;

public function actionCreate()
{
    $model = new Emp;
    $model2=new Emprole;
    // Uncomment the following line if AJAX validation is needed
    // $this->performAjaxValidation($model);

    if(isset($_POST['Emprole']))
    {
        $model2->attributes=$_POST['Emprole'];
        $model2->save();
        $contact_id = Yii::app()->db->getLastInsertId();            

    }

    if($contact_id!='')
    {

    if(isset($_POST['Emp']))
    {
        $model->beforeSave();
        $model->attributes=$_POST['Emp'];
        if($model->save())
            $this->redirect(array('view','id'=>$model->empcode));
    }