2016-11-11 13 views
0

2つのフィールドをProductエンティティにリンクする必要があるテーブルがあります。しかし、Doctrineはそれらのうちの1つだけを認識し、通常の2番目の整数として処理します。Doctrine2 - 1つのエンティティにリンクされた2つのフィールド

ほとんど同じような質問 Doctrine2 Mapping: 2 fields mapped to one field (ManyToOne) を読んだことがありますが、私の注釈は正しいものでなければなりません。

私は間違って何をしていますか?

クラスProductProduct

/** 
    * @var integer 
    * 
    * @ORM\Column(name="id", type="integer") 
    * @ORM\Id 
    * @ORM\GeneratedValue(strategy="NONE") 
    */ 
    private $id; 


    /** 
    * @ORM\Column(name="product_id", type="integer") 
    * @ORM\ManyToOne(targetEntity="Product", inversedBy="productProduct") 
    * @ORM\JoinColumn(name="product_id", referencedColumnName="id") 
    */ 
    private $product; 

    /** 
    * @ORM\Column(name="product_replace_id", type="integer") 
    * @ORM\ManyToOne(targetEntity="Product", inversedBy="productProductReplace") 
    * @ORM\JoinColumn(name="product_replace_id", referencedColumnName="id") 
    */ 
    private $productIdReplace; 

クラス製品

/** 
* @ORM\OneToMany(targetEntity="ProductProduct", mappedBy="product") 
**/ 
private $productProduct; 

/** 
* @ORM\OneToMany(targetEntity="ProductProduct", mappedBy="productIdReplace") 
**/ 
private $productProductReplace; 

答えて

0

くそー、問題は次の行にあった:

その注釈がいたよう
@ORM\Column(name="product_replace_id", type="integer") 

らしいですd @JoinColumnを上書きします。私は両方のエンティティでこれらの行を削除し、すべて今働くようです。 この質問がこのような単純なバグを避けるために役立つことを願っています:)

関連する問題