1个属性的多个表单字段

时间:2017-07-03 14:51:54

标签: php symfony twig symfony-2.7

我有一个实体Application

我想将我的应用与一些Server实体相关联。

但在这个链接中,有一些信息,如端口的整数...

为了做到这一点,我创建了另一个实体LinkAppliServ

Application

/**
 * @var \Doctrine\Common\Collections\ArrayCollection
 *
 * @ORM\OneToMany(targetEntity="MyBundle\Entity\LinkAppliServ", mappedBy="appli",cascade={"persist"})
 */
private $links;
LinkAppliServ中的

/**
 * @var \MyBundle\Entity\Application
 *
 * @ORM\ManyToOne(targetEntity="MyBundle\Entity\Application", inversedBy="links")
 * @ORM\JoinColumn(name="appli_id", referencedColumnName="id")
 */
private $appli;

/**
 * @var \MyBundle\Entity\Server
 *
 * @ORM\ManyToOne(targetEntity="MyBundle\Entity\Server", inversedBy="links")
 * @ORM\JoinColumn(name="serv_id", referencedColumnName="id")
 */
private $serv;

现在,在Application的表单中,我希望为我的属性$links添加多个字段(因为我想在我的Server类型上设置一个过滤器(这是一个属于Server)。

我尝试根据需要添加任意数量的属性,但它不起作用(我只想要一个表...) 我试图根据需要创建尽可能多的表单,但也不起作用......

我想要的是这样的: ApplicationType

public function buildForm(FormBuilderInterface $builder, array $options)
{
    $builder
        ->add('links', 'collection', array(
            'type' => new LinkAppliServType(),  //filter on Server's type1
            'allow_add' => true,
            'allow_delete' => true
            'label' => 'server type 1'
        ))
        ->add('links', 'collection', array(
            'type' => new LinkAppliServType_2(), //filter on Server's type2
            'allow_add' => true,
            'allow_delete' => true
            'label' => 'server type 2'
        ))
        // and much more... ^^

你会怎么做? 谢谢!

0 个答案:

没有答案