微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

EasyAdmin 3:嵌套表单另一个集合中的调用

如何解决EasyAdmin 3:嵌套表单另一个集合中的调用

我使用 EasyAdmin 3。

我正在使用 Symfony 5 创建一个时事通讯管理器。我的实体就是这样构建的。

  • 简报(ManyToOne => NewsletterItem)
    • 时事通讯项 (ManyToOne => NewsletteItemSub)
      • NewsletteItemSub

在 EasyAdmin 中,我能够在 Newsletter 中添加 NewsletterItem。但是我不知道如何在 EasyAdmin 的 NewsletterItem 中添加 NewsletterItemSub。

有人有想法吗?

我当前的代码

CollectionField::new('newsletterItems','Newsletter Items')
     ->allowAdd()
     ->allowAdd()
     ->setEntryIsComplex(false)
     ->setEntryType(NewsletterItemType::class)
     ->showEntryLabel(false)
     ->setFormTypeOptions([
         by_reference' => false
        ]
     )
     ->hideOnIndex(),

What I have now.

解决方法

创建 NewsletteItemSubType 表单类并将其嵌入 NewsletterItemType

像这样:

<?php
#...
class NewsletterItemType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder,array $options): void
    {
        #...

        $builder->add('tags',CollectionType::class,[
            'entry_type' => NewsletteItemSubType::class,'entry_options' => ['label' => false],]);
    }

    #...
}

https://symfony.com/doc/current/form/form_collections.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。