Ошибка отображения Doctrine2 - PullRequest
0 голосов
/ 17 января 2012

вот мои классы:

Первый класс 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;
    ...
}

Когда я запускаю доктрину orm: validate-схема Я получаю это сообщение:

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 в моем метаклассе, но я не понимаю, почему, потому что она есть!?

Примечания: модельи \ models \ entity, конечно, являются производными от сопоставленного суперкласса;)

Я схожу с ума от этой ошибки ... Если у кого-то есть объяснение или лучшее решение, пожалуйста, поделитесь

1 Ответ

0 голосов
/ 26 ноября 2012

Это фактический код?:

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

потому что я думаю, что " после \models\meta\modelMetaKey может сделать недействительной следующую аннотацию сопоставления ... но это всего лишь предположение.

(это был бы комментарий, если бы я имел право их писать)

...