2012-10-19 3 views
0

어떻게 동적 선택 필드의 값을 가져 와서 저장할 수 있습니까?symfony 1.4 - 동적 값 저장 (선택 양식)

public function configure() 
    { 

    $query = FillableTable::getInstance()->createQuery('fal')->addWhere('0 = 1 '); 

    $piecesChoices= RepaoTable::getInstance()->createQuery('rpo')->select('rpo.code_text')->execute(); 
    $choices = array(); 
    foreach ($piecesChoices as $choice) 
     { 
    $value = $choice->getCodeText(); 
    $choices[$value] = $value; 
     } 



    $this->widgetSchema['simple1'] = new sfWidgetFormDoctrineChoice(array('model'=> 'Simple1')); 
    $this->widgetSchema['simple2'] = new sfWidgetFormDoctrineChoice(array('model'=> 'Simple2', 'query' => $query)); 
    $this->widgetSchema['code_text']= new sfWidgetFormChoice(array(
      'expanded' => true, 
      'multiple' => true, 
      'choices'=> $choices 
     )); 


//validation 

    $this->validatorSchema.... 

// 

답변

0

난 당신이 code_text 위젯에서 사용자가 선택한 값을 저장 언급하는 가정 :

이 제 기능입니다?

사용자가 POST/GET을 한 후에는 하나의 값 대신 배열을 사용하게됩니다.

var_dump($request->getPostParameter('code_text')) 어떤 현상이 발생하는지 확인할 수 있습니다.

그 값으로 원하는대로 할 수 있습니다.

+0

내 테이블의 단일 필드에 여러 값을 저장해야합니다. – GRafoKI

+0

내 코드를 따르면 값 배열을 표시해야합니다. –

0

후()

$comp= array(isset($this->taintedValues['simple1']) && !empty($this->taintedValues['simple1']), 
        isset($this->taintedValues['simple2']) && !empty($this->taintedValues['simple2'])); 
     if($comp) 
     { 
     $obj = new table(); 
     $obj->set('code_text',$this->taintedValues['code_text']); 
     $obj->set('simple1',$this->taintedValues['simple1']) ;       
     $obj->set('simple2',$this->taintedValues['simple2']);   
     $obj->save(); 
     } 

하지만 내 체크 박스 (code_text)의 값 저장에 문제가 DB에 세이브 ARRA 저장 내 함수의 일부 테스트!