gpt4 book ai didi

php - Symfony3 : Construct FormType

转载 作者:可可西里 更新时间:2023-10-31 22:49:27 26 4
gpt4 key购买 nike

我在 Symfony3 中有一个表单,我按照文档初始化它,如下所示:

$form=$this->createForm(BookingType::class,$booking);

$booking 是一个已经存在的实体,我想对其进行修改 - 但我想根据实体修改表单 - 如:

public function buildForm(FormBuilderInterface $builder,$options) {
$builder->add('name');
if(!$this->booking->getLocation()) {
$builder->add('location');
}
}

在 Symfony 2.8 之前,可以像这样构造 FormType:

$form=$this->createForm(new BookingType($booking),$booking);

这正是我想要的 :) 但是在 Symfony3 中这个方法会抛出一个异常。如何将实体传递给我的表单类型?

最佳答案

您还可以根据自定义选项更改表单类型。

在表单中输入:

public function buildForm(FormBuilderInterface $builder, $options) {
$builder->add('name');

if($options['localizable']) {
$builder->add('location');
}
}

public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'localizable' => true,
));
}

在 Controller 中:

$form = $this->createForm(BookingType::class, $booking, array(
'localizable' => !$booking->getLocation(),
));

关于php - Symfony3 : Construct FormType,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34740025/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com