Doctrine2映射错误

时间:2012-01-17 17:04:26

标签: php doctrine-orm

这是我的课程:

首先是modelMetaKey类:

  /**
    * @Entity(repositoryClass="models\repository\meta\modelMetaKey")
    * @table(name="model_meta_key", uniqueConstraints={@UniqueConstraint(columns={"meta_id", "mkey_id"})})
    */
    class modelMetaKey extends \models\entity
    {
        /**
        * The meta
        * @var \models\core\model\meta
        * @ManyToOne(targetEntity="models\core\model\meta", inversedBy="modelKeys")
        * @JoinColumn(name="meta_id", referencedColumnName="id");
        */
        private $meta;
        ...
    }

第二个元类:

/**
 * @Entity(repositoryClass="models\repository\core\model\meta")
 * @table(name="core_model_meta")
 */
class meta extends model
{
    /**
     * Keys defined for this model
     * @var \models\meta\modelMetaKey"
     * @OneToMany(targetEntity="models\meta\modelMetaKey", mappedBy="meta")
     */
    private $modelKeys;
    ...
}

当我运行doctrine orm时:validate-schema 我收到这条消息:

Mapping]  FAIL - The entity-class 'models\meta\modelMetaKey' mapping is invalid:
* The association models\meta\modelMetaKey#meta refers to the inverse side field models\core\model\meta#modelKeys which does not exist.

我明白学说在我的元类中找不到$ modelKeys,但我不明白为什么因为它存在!?

备注: model和\ models \ entity当然是从映射的supperclass派生出来的;)

我对这个错误感到疯狂......如果有人有解释或更好的解决方案,请分享

1 个答案:

答案 0 :(得分:0)

这是实际代码吗?:

/**
 * Keys defined for this model
 * @var \models\meta\modelMetaKey"
 * @OneToMany(targetEntity="models\meta\modelMetaKey", mappedBy="meta")
 */
private $modelKeys;

因为我想"之后的\models\meta\modelMetaKey可以使下面的映射注释无效......但这只是猜测。

(如果我有权写这些,那将是评论)