gpt4 book ai didi

Symfony2 如何在选择实体字段中设置选项值

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

我想知道是否有办法在选择列表中设置选项的值。这个选择是一个选择实体字段。

在我的代码中一切正常。关键是,在我看来,我在 value 选项中获得了每个字段的 ID,我需要在那里有另一个字段。

我正在使用 option 属性来设置将在选项名称中显示的内容,但我还需要设置将出现在值字段中的内容。

到目前为止,我还没有成功找到解决方案,所以如果有人能帮助我,我将不胜感激。

表单类型中我字段的一小部分。

->add('fieldName','entity', array(
'class' => 'path\to\entity',
'property' => 'name',
'multiple' => true,
'expanded' => false,
)

谢谢。

我返回的 HTML 代码如下所示
<select>
<option value="4">ROLE_EXAMPLE</option>
</select>

我想要做的是得到这样的结果:
<select>
<option value="specific_property_from_entity">ROLE_EXAMPLE</option>
</select>

最佳答案

您可以使用 choice输入而不是 entity ,这里有一些例子:

class YourType extends AbstractType
{
protected $em;

// Injecting EntityManager into YourType
public function __construct(EntityManager $em)
{
$this->em = $em;
}

private function getChoices()
{
// some logic here using $this->em
// it should return key-value array, example:
return [
'foo' => 'bar',
'test' => 'abc', // and so on...
];
}

/**
* {@inheritdoc}
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('fieldName', 'choice', [
'choices' => $this->getChoices(),
]
)
}

}

You can read about creating field types as a service

关于Symfony2 如何在选择实体字段中设置选项值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24264327/

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