繁体   English   中英

Symfony2:将表单添加到另一个表单

[英]Symfony2: Add form in to another form

很简单:

我有一个实体代理商

/**
 * @var \Rewards\LocationBundle\Entity\Address
 *
 * @ORM\ManyToOne(targetEntity="\Acme\xxBundle\Entity\Address", cascade={"persist"})
 * @ORM\JoinColumn(name="address_id", referencedColumnName="id")
 */
protected $address;

我有一个用于创建表格的AgencyType:

   $builder
        ->add('name')
        ->add('address');

我也有AddressType

   $builder
        ->add('street')
        ->add('zipCode')
        ->add('city')
        ->add('country');

使用此配置,如果我输入:

{{ form_widget(form) }} 

在树枝模板中,我仅查看“选择”表单小部件,但我想查看来自AgencyType AddressType表单的所有字段。

我该怎么做?

我已经解决了问题!

$builder
    ->add('name')
    ->add('agents')
    ->add('address', new AddressType());

干净又容易!

在symfony 3/4中,您应该以AdressType形式添加实体的数据类(Entity)。 例如:

public function configureOptions(OptionsResolver $resolver)
{
    $resolver->setDefaults([
        'data_class' => Address::class,
    ]);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM