Symfony 4-如何使用多个实体嵌入表单?

时间:2018-10-31 18:03:03

标签: php forms symfony doctrine

我是Symfony 4的新手,我需要使用多个实体创建表单。

目标是能够提出一个问题并将其与多个标签关联。

我有一个ManyToMany关系。每个标签可以出现在几个问题中,并且每个问题都有几个标签。

为翻译这种关系,我创建了一个带有此结构的 Hashtag实体

  • question_id
  • tag_id

我的问题实体具有以下属性:

  • 标题
  • 身体

我的标签实体刚刚:

  • 名称

当然,有了这种关系,我的Question实体就可以获取,添加和删除主题标签。

问题是我不明白如何获取标签。我设法做到了一次,但是使用了Entitytype。但是,提交表单时我没有工作。

但是,据我了解,我必须具有CollectionType。我在 QuestionType表单中尝试过此操作:

->add('hashtags', CollectionType::class, [
                'label' => 'Choose tags',
                'entry_type' => TagType::class,
                'entry_options' => array('label' => false),
            ])

我有0个错误,但这只是显示我的标签而已。

缺少什么?我还必须在树枝模板中更改某些内容吗?

{{ form_start(form, {'attr': {'novalidate': 'novalidate'}}) }}
    {{ form_widget(form) }}    
    <button class="btn">{{ button_label|default('Create') }}</button>
{{ form_end(form) }} 

谢谢您的帮助!

0 个答案:

没有答案