Symfony 4 +选择2-向实体类型添加更多选项

问题描述 投票:1回答:1

我正在使用基于带有Select2库的Symfony 4的应用程序。

在我的src/Form/PostType.php文件中,我声明了字段标签,用户应该可以在其中设置预先声明的Tag之一或添加新的(通过键入标签名称并按Enter键。)>

$builder
->add('tags', EntityType::class, [
    'class' => Tag::class,
    'choice_label' => 'name',
    'mapped' => false,
    'expanded' => false,
    'multiple' => true,
    'required' => false,
    ]);

从前端开始,我正在使用select2库来处理显示标签字段。

在下面的示例中,从数据库中已存在的实体中选择了拳头标签,第二个应该在此秒中保存。

enter image description here

任何想法,我应该更改为已提交的声明,以使该字段也对新标签有效吗?控制器已准备就绪,唯一的问题是要通过表单验证:)

编辑:

ORM中的关系如下所示:

class Company {

/**
 * @ORM\ManyToMany(targetEntity="App\Entity\Tag", mappedBy="companies")
 */
private $tags;

}

class Tag
{
/**
 * @ORM\ManyToMany(targetEntity="App\Entity\Company", inversedBy="tags")
 */
private $companies;

}

并且除了上面的代码外没有其他验证

我正在使用基于带有Select2库的Symfony 4的应用程序。在我的src / Form / PostType.php文件中,我声明了字段标签,用户应该可以在其中设置预声明的标签之一或添加新标签(按标签类型...

jquery-select2 symfony-forms symfony-4.3
1个回答
1
投票

您已设置要映射的字段= false。如果未映射字段,则必须手动处理表单验证。您可以共享您的实体代码,如果编写了任何验证代码?

© www.soinside.com 2019 - 2024. All rights reserved.