非常简单:
我有一个实体代理
/**
* @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) }}
在树枝模板中的我只查看“选择”表单小部件,但我想查看代码类型为AddressType的所有字段。
我怎么能这样做?
答案 0 :(得分:6)
我已经解决了这个问题!
$builder
->add('name')
->add('agents')
->add('address', new AddressType());
清洁简单!
答案 1 :(得分:0)
在symfony 3/4中,您应该以AdressType形式添加实体的数据类(Entity)。 例如:
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'data_class' => Address::class,
]);
}