2012-08-06 1 views
1

여기가 내 코드어떻게 심포니 폼 builForm 기능에 추가 변수를 전달할 수 있습니다

public function buildForm(FormBuilder $builder, array $options , $task) 
    { 
     $builder 
      ->add('genTasks','text',array('label'=>$task->getName())) 

     ; 
    } 

내가

+0

아마도 뭔가 빠졌지 만 buildForm (세 번째 매개 변수) 함수에 $ 작업이 전달되지 않았습니까? 그래서, 당신은 그것에 접근 할 수 있습니다, 그렇죠? – ews2001

+0

나는 그것을 시도하고 그것은 오류를 제공합니다. 그것은 buildform이 symfony 폼 클래스로 작성된 것과 일치해야한다고 말합니다. 그래서 그 기능을 전달할 수 없다 – user825904

답변

3

하나의 솔루션 buildForm 내부 $ 작업 변수에 액세스 할 수있는 방법이 있나요 :

public function buildForm(FormBuilder $builder, array $options) 
{ 
    $task = $options['task']; 

    // If you want... 
    if(is_null($task)) throw new \LogicException('Task option is required.'); 

    $builder 
     ->add('genTasks', 'text', array('label' => $task->getName())) 
    ; 
} 

public function getDefaultOptions(array $options) 
{ 
    return $options + array('task' => null); 
} 

양식을 작성할 때 작업 오브젝트를 옵션으로 전달하십시오.

+0

고마워요. 그걸 시도 할게요. – user825904

+0

고마워요. – user825904

관련 문제