如何连接两个不同包中定义的两个表?

时间:2018-05-24 10:23:56

标签: symfony-2.3 orocrm

我想加入两个表,以便在datagrid中显示详细信息。

  

表1:学生

  • 主键:id
  • 外键:class_id
  

表2:类

  • 主键:id
课程可以有很多学生。 (一对多关系)

任何建议都将不胜感激。

我正在使用OroCRM

1 个答案:

答案 0 :(得分:0)

您需要将加入部分添加到 datagrid.yml 配置中。以下是文档中的示例:https://oroinc.com/orocrm/doc/2.6/dev-guide/entities/datagrids#data-source

  1. 如果您的捆绑包彼此了解您的加入可能是这样的(来自学生方): join: left: - { join: student.class, alias: class }
  2. 考虑到您使用正确的mappins创建了实体。更多详情可在这找到 - https://www.doctrine-project.org/projects/doctrine-orm/en/2.6/reference/unitofwork-associations.html https://www.doctrine-project.org/projects/doctrine-orm/en/2.6/reference/association-mapping.html#one-to-many-bidirectional

    1. 如果只有持有Class实体的bundle应该知道学生,你必须使用 join table 。更多细节在这里 - https://www.doctrine-project.org/projects/doctrine-orm/en/2.6/reference/association-mapping.html#one-to-many-unidirectional-with-join-table