Doctrine 2连接表+额外字段

时间:2010-12-14 03:52:36

标签: join field doctrine-orm jointable

我有两个表和一个联接表:'staff','classification'和'staff_classification'。在连接表中,我有一个额外的布尔字段:'showclassification'。我的注释如下:

 /**
 * @ManyToMany(targetEntity="Staff", inversedBy="classifications")
 * @JoinTable(name="staff_classifications",
 *  joinColumns={@JoinColumn(name="staffid", referencedColumnName="id")},
 *  inverseJoinColumns={@JoinColumn(name="classificationid", referencedColumnName="id", unique=true)});
 */
  1. 如何将额外字段'showclassifications'添加到连接表?
  2. 如何通过DQL引用该字段?例如。什么样的查询可以获得允许显示的所有员工的分类?
  3. 我是否将上述注释放在一个类中,将@ManyToMany注释放在另一个没有@joinTable的情况下?例如。 @ManyToMany(targetEntity =“Classification”)?

1 个答案:

答案 0 :(得分:32)

您需要一个描述关系的实体(StaffClassifications),它与员工和分类具有OneToMany关系。

ManyToMany不允许您拥有任何“额外”属性,因为连接表不是实体,因此不能具有任何属性。