gpt4 book ai didi

php - 如何在嵌入另一个表单的 Symfony 表单上设置默认值?

转载 作者:搜寻专家 更新时间:2023-10-31 22:04:43 26 4
gpt4 key购买 nike

如何设置嵌入到另一个与实体关联的表单中的 Symfony 表单的默认表单值?

如果我尝试在以下示例中将我的 PropertyLocation 实体中的街道属性设置为默认值,则在呈现表单时不会显示此默认值。我知道我可以使用的每个表单字段都有一个数据选项,但我宁愿不这样做,因为它会覆盖实体中设置的内容。如何使表单显示存储在实体中的默认值。

class PropertyType
{

/**
* @param FormBuilderInterface $builder
* @param array $options
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('propertyLocation', new PropertyLocationType());
}

/**
* @param OptionsResolverInterface $resolver
*/
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(
array('data_class' => 'UR\AppBundle\Entity\Property'
));
}

/**
* @return string
*/
public function getName()
{
return 'property';
}
}

属性位置类型如下所示:

class PropertyLocationType extends AbstractType 
{

/**
* @param FormBuilderInterface $builder
* @param array $options
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('street', 'text');
}

/**
* @param OptionsResolverInterface $resolver
*/
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'UR\AppBundle\Entity\PropertyLocation'
));
}

/**
* @return string
*/
public function getName()
{
return 'propertyLocation';
}
}

最佳答案

可以在 Controller 的 newAction 中设置默认值:

假设您有一个 PropertyController.php 作为您的 Property 实体的 Controller

您的 newAction 将如下所示:

public function newAction()
{
$defaultPropertyLocation = new PropertyLocation();
$defaultPropertyLocation->setStreet('default value ');
$property = new Property();
$property->setPropertyLocation($defaultPropertyLocation);
// now you could pass your property entity to get rendred
$form = $this->createCreateForm($property);

return $this->render('YourBundle:Property:new.html.twig', array(
'entity' => $property,
'form' => $form->createView(),
));
}

编辑 第二个选项:使用数据字段

->add('myfield', 'text', array(
'label' => 'Field',
'data' => 'Default value'
))

AFAIK 没有第三种选择。

关于php - 如何在嵌入另一个表单的 Symfony 表单上设置默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21027800/

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