2015-09-25 18 views
0

有没有办法在formbuilder中禁用多对一的连接?Symfony2禁用manytoone如果不需要

例子: 我要地图的菜单项,以一个内部路由,或者一个外部链接

所以 到另一个实体或类似http://www.google.de

实体的字符串:

/** 
* @ORM\ManyToOne(targetEntity="Unite\MenuBundle\Entity\unmenurouting", inversedBy="unmenus") 
* @ORM\JoinColumn(name="unmenurouting_id", referencedColumnName="id") 
**/ 
private $unmenurouting; 

/** 
* @ORM\ManyToOne(targetEntity="Unite\MenuBundle\Entity\unmenu", inversedBy="unsubmenus") 
* @ORM\JoinColumn(name="unparentmenu_id", referencedColumnName="id") 
**/ 
private $unmenu; 

Formbuilder

->add('unmenu','entity',array(
       'class' => 'UniteMenuBundle:unmenu' , 
       'property' => 'unname' , 
       'multiple' => false , 
       'query_builder' => function(EntityRepository $er){ 
        return $er->createQueryBuilder('m') 
           ->where('m.unmain = 1') 
           ->andwhere('m.unactive = 1') 
           ; 
       } 
     )) 

现在,我得到一个错误发现协会MyBundle \ MenuBundle \实体类型学说\ COMMON \收藏\ ArrayCollection中的实体\的umenu#unmenurouting

所以我直接的问题 - 这可能为null多对一连接?

非常感谢

回答

0

解决方案那么简单......

public function setunmenurouting(Unite\MenuBundle\Entity\unmenurouting $unmenurouting = NULL) 
{ 
    if($unmenurouting !== NULL) 
     $this->unmenurouting = $unmenurouting; 
    $this->unmenurouting = NULL; 
}