1

很简单:

我有一个实体机构

/**
 * @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');

我也有地址类型

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

如果我把这个配置:

{{ form_widget(form) }} 

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

我怎么能这样做?

4

2 回答 2

7

我已经解决了这个问题!

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

干净又简单!

于 2012-09-30T17:32:17.340 回答
0

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

public function configureOptions(OptionsResolver $resolver)
{
    $resolver->setDefaults([
        'data_class' => Address::class,
    ]);
}
于 2019-04-16T10:06:23.500 回答