Doctrine ManyToMany单向,具有共享属性.Symfony 3.4



我有两个实体:Objetct和Product,每个表中都有一个额外的ID:officeId此id在每个表中(我无法修改数据库(和3张表:

  • 对象
  • 产品
  • ObjectProduct

我想要一种男女单向的关系。

实体对象:

class Object
{
/**
* @var Products[]|ArrayCollection
*
* @ORMManyToMany(targetEntity="AppBundleEntityProducts")
* @ORMJoinTable(name="ObjectProduct",
*      joinColumns={@ORMJoinColumn(name="objectId", referencedColumnName="id"),
*                   @ORMJoinColumn(name="officeId", referencedColumnName="officeId")},
*      inverseJoinColumns={@ORMJoinColumn(name="productId", referencedColumnName="id"),
*                   @ORMJoinColumn(name="officeId", referencedColumnName="officeId")}
*      )
*
*/
private $products;
}

我的问题是,当尝试插入时,请插入officeId属性两次:比如:插入到ObjectProduct(objectId,officeId,productId,officeId(值(?,?,?(

当您使用多对多关系(单向或双向(时,它会创建一个联接表。你似乎知道这一部分。

这个联接表包含两个外键,表示一个复合主键(为了确保唯一性(。这是自动

如果你想更改任何内容(广告一个额外的ID,额外的列…(,那么你需要将其映射为项目中的一个实体,并定义一对多关系,而不是多对多

相关内容

  • 没有找到相关文章

最新更新