2014-11-15 4 views
0

나는 세 번째 폼을 심포니에두고, 두 개는 세 번째 폼의 자식 폼입니다. 부모 폼에서 나는 다음과 같은 한 : 자식 폼뿐만 아니라 부모 폼에서심포니 호출 부모 폼 자식 폼의 생성자

->add('category', 'entity',array(
      'class' => 'AppBundle:MarketPlace\ProductCategory', 
      'query_builder'=>$this->QueryBuilder 
     )) 

내가

public function __construct($queryBuilder=null) 
{ 
    $this->queryBuilder=$queryBuilder; 
} 

이 내가 그래서 부모에 querybuilder를 전달하고 싶습니다 각 자식의 필드 속성을 반복하지 않도록합니다. 예를 들어 :

public function __construct($queryBuilder=null) 
{ 
    $this->queryBuilder=$queryBuilder; 
    $this->getParent()->__construct($queryBuilder) 
} 

나는 아이들을 instanciating 때 querybuilder을 전달하고 위와 같이 부모 폼이 querybuilder을 사용하고 싶습니다. 자식 폼이 AbstractType을 확장하고 일반 getParent 메서드를 사용하여 부모를 참조한다는 것을 알고 부모 폼의 생성자를 호출 할 수 있습니까?

아이디어는 인스턴스화 할 때 각기 다른 쿼리 작성자를 전달하지만 하위 노드에 공통적 인 필드 아키텍처를 유지한다는 것입니다. 따라서 부모는 폼의 다른 요소와 다를 수 있습니다.

답변

0

양식 필드 부모는 PHP 확장 부모와 다른 것입니다. 당신은 이것을 할 수 없습니다. 이 작업을 수행하려면 쿼리 작성기를 설정하기 위해 양식 유형에 옵션을 추가해야합니다.

+0

글쎄, 나는 자식 폼에 생성자 속성을 필요로하는 모든 필드를 정의해야한다고 생각합니다. 고마워요! –

관련 문제