gpt4 book ai didi

symfony - 有没有一种方法可以在Symfony2中重命名表单中的字段?

转载 作者:行者123 更新时间:2023-12-04 13:13:10 26 4
gpt4 key购买 nike

我正在使用symfony2,我想知道是否可以重命名Form中的字段。

我的意思是...假设我有一个实体

class MyEntity{
private $name
//more code
}

我为此实体创建一个类型:
class MyEntityType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name')
;
}

public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'AppBundle\Entity\MyEntity'
));
}

public function getName()
{
return 'entity';
}
}

有没有一种方法可以重命名表单中的 name字段,但可以映射到 name属性。就像是:
    public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('MySuperName', null, array("mapping" => "name"))
;
}

因此,表单参数名称变为 entity[MySuperName]而不是 entity[name],但填充了实体上的 name属性吗?

最佳答案

使用 property_path :

$builder
->add('MySuperName', null, array('property_path' => 'name'))

另一个选择是将get/set别名添加到 name字段:
public function getMySuperName()
{
return $this->name;
}

public function setMySuperName($mySuperName)
{
$this->name = $mySuperName;

return $this;
}

关于symfony - 有没有一种方法可以在Symfony2中重命名表单中的字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35615072/

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