到目前为止,我建立的关系 M:N 是简单的中间表,Doctrine 不需要为此表创建实体。
我有两个实体产品和成分,它们具有如下关系 M:N 很容易用 Doctrine 描述。但真正的问题是当我需要amount
在关系中存储一个字段时(我需要列出成分和数量)。
如何解决这个问题?
class Product {
//...
/**
* @var \Doctrine\Common\Collections\Collection
*
* @ORM\ManyToMany(targetEntity="MyBundle\Entity\Ingredient", inversedBy="product")
* @ORM\JoinTable(name="product_ingredient",
* joinColumns={
* @ORM\JoinColumn(name="product_id", referencedColumnName="id")
* },
* inverseJoinColumns={
* @ORM\JoinColumn(name="ingredient_id", referencedColumnName="id")
* }
* )
*/
private $ingredient;
//...
class Ingredient {
// ...
/**
* @var \Doctrine\Common\Collections\Collection
*
* @ORM\ManyToMany(targetEntity="MyBundle\Entity\Product", mappedBy="ingredient")
*/
private $product;
// ...