2015-12-10 32 views
0

我有实体:AdWCTypeAdWallType。这些实体包含目录等静态数据。Symfony2实体类型字段持续存在

AdWallType

​​

实体Ad包含列wallTypewcType

ADTYPE

$builder->add('wallType', EntityType::class, array(
       'class' => 'AdBundle:AdWallType', 
       'choice_label' => 'title', 
       'query_builder' => function(EntityRepository $er) { 
        return $er->createQueryBuilder('wt') 
         ->where('wt.visible = :visible') 
         ->setParameter('visible', true) 
         ->orderBy('wt.weight', 'ASC') 
         ->setCacheable(true); 
       } 
      )) 
      ->add('wcType', EntityType::class, array(
       'class' => 'AdBundle:AdWCType', 
       'choice_label' => 'title', 
       'query_builder' => function(EntityRepository $er) { 
        return $er->createQueryBuilder('wc') 
         ->where('wc.visible = :visible') 
         ->setParameter('visible', true) 
         ->orderBy('wc.weight', 'ASC') 
         ->setCacheable(true); 
       } 
      )) 

我如何能坚持wcTypewallType这是我对形式选用到实体Ad提交?

回答

0

加入协会这个字段

/** 
* @var ... 
* 
* @ORM\wallType(targetEntity="AdBundle:AdWallType") 
* @ORM\JoinColumns({ 
* @ORM\JoinColumn(name="wallType", referencedColumnName="index") 
* }) 
*/ 
private $wallType; 
... 

,只是保存表单数据对象

$ad = new Ad(); 
$form = $this->createForm('%form_class%', $ad); 
if ($request->isMethod('post')) { 
    $form->handleRequest($request); 
    if ($form->isValid()) { 
     $em->persist($ad); 
     $em->flush($ad); 
    } 
}