Doctrine2关联属性命令,名称"几乎相似"实体

时间:2015-12-02 09:35:09

标签: php orm doctrine-orm

我经历了一个奇怪的" bug"。

我在一个实体上有2个关联"几乎相同" :

/**
 * @ORM\OneToOne(targetEntity="TaxeApprentissage\Entity\Collecteur\Parametres", mappedBy="collecteur")
 */
private $parametres;

/**
 * @ORM\OneToOne(targetEntity="TaxeApprentissage\Entity\Collecteur\ParametresEdition", mappedBy="collecteur")
 */
private $parametresEdition;

当延迟加载发生时,我在属性TaxeApprentissage\Entity\Collecteur\ParametresEdition$parametres中得到完全相同的对象$parametresEdition

但是当我扭转这种联想时:

/**
 * @ORM\OneToOne(targetEntity="TaxeApprentissage\Entity\Collecteur\ParametresEdition", mappedBy="collecteur")
 */
private $parametresEdition;

/**
 * @ORM\OneToOne(targetEntity="TaxeApprentissage\Entity\Collecteur\Parametres", mappedBy="collecteur")
 */
private $parametres;

一切都很完美。我得到了每个协会的正确对象。

是否由实体命名几乎相似的事实引起?

1 个答案:

答案 0 :(得分:1)

可能是因为你在拥有方犯了错误?另一方面(ParametresParametresEdition内部)的列定义是什么样的?你不会在你的问题中显示它们。

您可能有两次inversedBy="parametres"inversedBy="parametresEdition"

@ORM\OneToOne(targetEntity="TaxeApprentissage\Entity\Collecteur\Collecteur", inversedBy="????")

@ORM\OneToOne(targetEntity="TaxeApprentissage\Entity\Collecteur\Collecteur", inversedBy="????")