2012-03-15 2 views
0

저는 yii를 처음 사용합니다. radiobuttonlist 또는 dropDownList에 저장된 데이터가 데이터베이스에 저장되지 않는이 문제가 있습니다. 항상 null로 표시됩니다.RadioButtonList 또는 dropDownList를 사용할 때 null로 저장된 데이터

<?php 
$form = $this->beginWidget('CActiveForm'); 
echo $form->label($model,'gender'); 
echo $form->radioButtonList($model,'gender',array('M'=>'Male','F'=>'Female')); 
echo $form->label($model,'cat'); 
echo $form->dropDownList($model,'cat',$category); 
echo CHtml::submitButton('Submit'); 
$this->endWidget(); 
?> 

컨트롤러 : 사전에 친절

public function actionCreate() 
    { 
     $model=new Test; 
     if(isset($_POST['Test'])) 
     { 
         $model->attributes=$_POST['Test']; 
         if($model->save()){ 
       $this->redirect(array('index')); 
         } 
         else 
          var_dump($model->errors); 
     } 
       $cat = array('st'=>'STAFF','ot'=>'OTHERS'); 
       $model->gender='M'; 
     $this->render('create',array(
      'model'=>$model,'category'=>$cat 
     )); 
    } 

도움이 ... 감사

편집 : 여기 내 코드

뷰의 추가 후 필요 규칙 섹션에서 여기에 잘 마법처럼

작동 후 모델

public function rules() 
    { 

     return array(
      array('gender,cat', 'required'), 
      array('name', 'length', 'max'=>45), 

     ); 
    } 

답변

0

이 이리와 문제가 시험 모델에서 생각 수정 된 테스트 모델을합니다.

+0

네가 옳았다. gender와 cat 컬럼에 필요한 규칙을 추가하는 것을 잊어 버렸습니다. 질문을 업데이트했습니다 – Bahdeng

0

나는 이것을 'required'을 사용하여 해결했으나 필수 항목이 아닌 필드가있는 경우 'safe' 규칙을 사용할 수 있습니다. 요점은 양식의 모든 속성이 모델의 규칙에 있어야한다는 것입니다.

Understanding "Safe" Validation Rules을 살펴보십시오.

+1

Thanks @Puigcerber ... 점을 지적했습니다. – Bahdeng

관련 문제