2017-03-09 2 views
0

를로드하지 않습니다. 하위 클래스는 SubtarifaReexpedicion입니다.심포니 양식은 선택 옵션 formtype에서

이 코드에서 변경하면 'class' => 'AppBundle:Subtarifa' 모든 것이 정상적으로 작동하고 모든 옵션 (모든 하위 클래스의 특정 옵션이 아닌)이로드됩니다.

부모 엔티티에 대한 구성 (Subtarifa) :

* @ORM\Entity 
* @ORM\Table(name="subtarifas") 
* @ORM\InheritanceType("JOINED") 
* @ORM\DiscriminatorColumn(name="discr", type="string") 
* @ORM\DiscriminatorMap({"FLETE" = "SubtarifaFlete", "REEXP" = "SubtarifaReexpedicion", "MASALLA" = "SubtarifaMasalla"}) 

어떤 도움을 환영합니다! 이 코드에서

답변

1

: SubtarifaReexpedicion 엔티티와 원하는 CHOICE_LABEL이 nombre, 그래서 AppBundle:SubtarifaReexpedicion 클래스 getNombre() 방법이 있는지 확인하십시오 : 당신이 AppBundle를 사용하는

->add('tarifaReexpedicion', EntityType::class, array(
    'class' => 'AppBundle:SubtarifaReexpedicion', 
    'label' => false, 
    'choice_label' => 'nombre', 
    'placeholder' => 'Elige una subtarifa...', 
)); 

.

'choice_label' => function ($tarifaReexpedicion) { 
    return $tarifaReexpedicion->getNombre(); 
} 
+0

감사 :

choice_label은 기본적으로 당신이 이런 식으로 할 것처럼 콜백을 호출! 그것은 작동한다. – jmunozco