【问题标题】:Many to many relationship with order by field creation in symfony3 doctrinesymfony3 学说中通过字段创建与顺序的多对多关系
【发布时间】:2017-05-04 18:17:18
【问题描述】:

在使用原则注释创建多对多关系时无法添加额外字段。

      /** 
        * @ORM\ManyToMany(targetEntity="Application", inversedBy ="users")
        * @ORM\JoinTable(name="user_app",
          * joinColumns={@ORM\JoinColumn(name="user_id", referencedColumnName="id")},
          * inverseJoinColumns={@ORM\JoinColumn(name="application_id", referencedColumnName="id")}
        *)
private $applications;

使用此注解创建 user_app 表包含 user_id、application_id 以及用户和应用程序表的关系。

我想添加一个新列来使用注解来维护应用程序 id 的顺序。

user_app
----------------
user_id  application_id order_id
 1           2             1
 1           3             2
 2           2             1    
 2           5             2

【问题讨论】:

  • 我相信您的问题的解决方案将在控制器中的 SELECT 语句中或您将执行原则查询的任何地方。所以我建议您在实体存储库中创建一个方法,该方法将检索您想要的内容以及您希望如何订购它。

标签: php symfony orm doctrine symfony-forms


【解决方案1】:

我认为你不能在“注释@ORM”中做到这一点,尝试创建新实体并将所有数据设置在她中。

All Association Mapping - 可以看官方文档Doctrine ORM

【讨论】:

  • 在得到未定义索引用户错误之后创建了第三个实体类进行映射。
  • 添加了新实体,但出现未定义索引用户错误。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多