EasyAdmin 3:嵌套表单(另一个集合中的调用)
EasyAdmin 3 : Nested forms (Callection in another Collection)
我用的是 EasyAdmin 3.
我正在使用 Symfony 5 创建时事通讯管理器。我的实体就是这样构建的。
- 时事通讯
(ManyToOne => NewsletterItem)
- 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(),
创建 NewsletteItemSubType 表单 class 并将其嵌入 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],
]);
}
#...
}
我用的是 EasyAdmin 3.
我正在使用 Symfony 5 创建时事通讯管理器。我的实体就是这样构建的。
- 时事通讯
(ManyToOne => NewsletterItem)
- NewsletterItem
(ManyToOne => NewsletteItemSub)
- NewsletteItemSub
- NewsletterItem
在 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(),
创建 NewsletteItemSubType 表单 class 并将其嵌入 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],
]);
}
#...
}