gpt4 book ai didi

Symfony Form EntityType,添加自定义数据以供选择

转载 作者:行者123 更新时间:2023-12-02 18:05:45 24 4
gpt4 key购买 nike

我有一个带有 EntityType 类型字段的表单:

$builder->add(
'contacts',
EntityType::class,
[
'label' => 'Recipient',
'required' => false,
'expanded' => true,
'multiple' => true,
'class' => 'MyApp\Entity\Contact',
'choice_label' => 'name',
'query_builder' => function (EntityRepository $er) {

return $er->createQueryBuilder('c')

},
'group_by' => function (Contact $contact, $key, $index) {
return $contact->getClient()->getName();
},
]
);

如您所见,表单显示带有标签 Contact->getName() 的复选框。

一切顺利,表单显示每个复选框,如下所示:

<input id="id_checkbox" type="checkbox" />
<label for="id_checkbox">name</label>

现在,对于每个复选框,我想添加额外的数据,例如电子邮件地址。我希望复选框显示如下:

<input id="id_checkbox" type="checkbox" />
<label for="id_checkbox"><span title="contact_email">contact_name</span></label>

如何将电子邮件数据传递到模板( Twig block )?

最佳答案

请参阅 choice_label 的文档:http://symfony.com/doc/current/reference/forms/types/entity.html#choice-label

您修改后的代码会像这样:

$builder->add(
'contacts',
EntityType::class,
[
'label' => 'Recipient',
'required' => false,
'expanded' => true,
'multiple' => true,
'class' => 'MyApp\Entity\Contact',
'choice_label' => function ($contact) {
return sprintf('%s (%s)', $contact->getName(), $contact->getEmail());
},
// ...
]
);

关于Symfony Form EntityType,添加自定义数据以供选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37009750/

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