我使用的是Symfony 3.3,我有一个带有CollectionType的表单,如:
$builder->add('links', CollectionType::class, array(
'label' => false,
'entry_type' => LinkType::class,
'entry_options' => ['data_class' => CompanyLink::class],
'allow_add' => true,
'allow_delete' => true,
'prototype' => true,
'by_reference' => false,
));
我按照文档:https://symfony.com/doc/current/reference/forms/types/collection.html
这就是我的看法:
因此,表单显示数据库中已有的数据(每次一行),但它总是添加一个空字段。
如何删除此空白字段?因为我只想要这一行,所以我点击按钮" Ajouter"。
谢谢!
答案 0 :(得分:0)
这篇文章有点老了ihope它不会迟到。我找到了一个解决方案,即使你带了一个twig的collectionType字段。 为避免在for循环后出现此空字段,请添加
{% do form.your_field.setRendered %}
它对我有用,希望它能为你做同样的事情:)。
答案 1 :(得分:0)
我认为您在呈现表单的功能中有setData(),
要呈现不带数据的表单,您只需要执行以下示例:
//Your main entity
$mainEntity = new Entity();
//adding the other entity into collection variable of other entity of main entity
$mainEntity->addOtherEntity(new otherEntity());
$form = $this->createForm(
MainEntityForm::class,
$mainEntity
);
希望有帮助。