使用实体/集合字段类型的 Symfony OneToMany 持久化

标签 symfony doctrine-orm symfony-forms

我的问题:我无法使用实体字段类型或集合字段类型来保存关联的实体。

我的数据库关系 My Database Relations

数据库结构说明:

  • 我有一个“使用”实体,其中附加了许多“电话号码” 它。
  • 每个“电话号码”都有且只有一个地区。




我想要实现的目标

  • 在我编辑的“使用情况”表单上,我想为“使用情况”已附加到的每个“电话号码”显示一个下拉框。

  • 每个下拉框都会列出该地区的所有电话号码,允许用户选择新的电话号码

enter image description here

我想如何显示我的使用表单


What I want to display

我的 Controller

我的实体

表单类型

Twig 模板

View 转换器

ObjectToArrayTransformer

我的问题: 当我提交表单时,没有任何反应,我选择的新电话号码不会保留。

最佳答案

我认为你的问题是在你的使用实体中,你没有级联持久操作。你应该尝试这个:

@ORM\OneToMany(targetEntity="Telephone", mappedBy="usage", cascade={"persist"})

希望这有帮助

关于使用实体/集合字段类型的 Symfony OneToMany 持久化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30328413/

相关文章:

javascript - 在 MySQL - HTML 表格中有新记录时播放蜂鸣声

symfony - 显示特定路线而不是错误页面(404) - Symfony2

php - doctrine2 中的自定义 DQL 函数

doctrine-orm - 带有连接表条件的 Doctrine DQL 计数

php - Doctrine 如何在 MySQL 中为我创建表?

symfony - 建议在 Symfony 中的哪个位置修改绑定(bind)表单数据?

symfony - Symfony 表单中的 3 个相关选择字段

mysql - Doctrine、Symfony3 使用间隔从表中选择日期范围

php - 如何对 Excel 文件中的内容进行断言?

vue.js - 如何在 Vue.js 中渲染 Symfony 表单?