【问题标题】:Symfony OneToMany Persistence using entity/collection field typeSymfony OneToMany Persistence 使用实体/集合字段类型
【发布时间】:2015-05-19 14:23:16
【问题描述】:

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

我的数据库关系

数据库结构说明:

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




我想要实现的目标

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

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

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



我的控制器

我的实体

表单类型

树枝模板

ViewTransformer

ObjectToArrayTransformer

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

【问题讨论】:

    标签: symfony doctrine-orm symfony-forms


    【解决方案1】:

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

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

    希望对你有帮助

    【讨论】:

    • 我已经尝试过了,但它并没有改变任何东西。这应该怎么做?
    • persist :级联将操作持久化到关联实体。查看docs。更改后您应该清除缓存!
    • 我已将持久性添加到与电话号码的使用实体关系中。表单正在提交,但电话号码未保存。在 Symfony Profiler 中,我看到表单出现此 错误:'无法反转属性路径“telephoneNumbers”的值:找不到给定值的所有匹配选项'。我添加了一个 ViewTransformer。
    • 你能转储传递给表单的电话值吗?
    • 我想说我也尝试过放置我自己的隐藏输入标签并使用下拉框的 javascript OnClick 填充它们。但是,此解决方案从未奏效,因为我永远无法将提交的数据放入表单预期的结构中。我也愿意探索这个选项。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-19
    • 1970-01-01
    • 1970-01-01
    • 2018-10-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多