关联指的是不存在的反面字段。 | Symfony2 / Doctrine2

时间:2014-06-04 14:27:20

标签: php symfony doctrine-orm

所以,围绕SO有几个类似的问题,但他们最终没有帮助我。 我一遍又一遍地检查了我的代码,但我无法弄清楚错误。

当获得一个类别(OneToMany)中的所有Comakers时,我得到NULL而不是所需的数组。

在我的 Comaker 实体中,我有:

/**
* @ORM\ManyToOne(targetEntity="Category", inversedBy="comakers")
* @ORM\JoinColumn(name="categoryid", referencedColumnName="id")
*/
private $category;

接下来在类别类中:

/*
* @ORM\OneToMany(targetEntity="Comaker", mappedBy="category"
*/
private $comakers;

检查映射时出现的错误:

[Mapping]  FAIL - The entity-class 'Zoho\Bundle\Entity\Comaker' mapping is invalid:
* The association Zoho\Bundle\Entity\Comaker#category refers to the inverse side field Zoho\Bundle\Entity\Category#comakers which does not exist.

如果你问我,分类#comakers 确实存在! 最重要的是,当生成实体时,教条也会为类别#comakers生成任何东西。缓存已被清除,甚至删除了所有getter和setter以及Entity.php~文件以进行清理生成,但无济于事。

有谁知道发生了什么事?

1 个答案:

答案 0 :(得分:10)

首先,您错过了关闭private $comakers;的括号 接下来,您需要将/*更改为/**

/**
* @ORM\OneToMany(targetEntity="Comaker", mappedBy="category")
*/
private $comakers;