MappingException с Doctrine ORM - класс не существует - PullRequest
0 голосов
/ 28 июня 2019

Я использую Doctrine 2.6.2 в своем проекте PHP. Схема была успешно создана с помощью ORM-Tool, но во время выполнения выдается исключение MappingException.

Я все еще не могу понять смысл сообщения об ошибке исключения "Учетные данные класса" не существуют в ... ", потому что я не знаю о внутренних принципах доктрин.

мой файл composer.json:

{
    "require": {
        "doctrine/orm": "^2.6.2",
        "symfony/yaml": "2.*"
    },
    "autoload": {
        "psr-0": {"": "src/"}
    }
}

Я пытался изменить некоторые аннотации phpdoc и сбросить схему несколько раз.

Кто-то испытывал подобные проблемы с доктриной? Я хотел бы получить подсказку по этому поводу, потому что я даже не уверен, вызвана ли эта проблема моими файлами кода PHP или, возможно, неправильной настройкой используемого инструмента orm, или, скорее всего, тем, о чем я не думал пока что.

/**
 * @Entity @Table(name="credentials")
 */
class Credentials
{

    /** @Id @Column(type="integer") @GeneratedValue **/
    protected $id;

    /** @Column(type="string") **/
    public $Email;

    /** @Column(type="string") **/
    public $Loginname;

    /** @Column(type="string") **/
    public $EntropyString;

    /** @Column(type="string") **/
    public $AccessToken;


    public function __construct()
    {

    }

    public function getId()
    {
        return $this->id;
    }

}

Вот полный ответ от apache:

Фатальная ошибка: Uncaught Doctrine \ Common \ Persistence \ Mapping \ MappingException: Класс «учетные данные» не существует в F: \ XAMPP \ httpd.private \ SRC \ PHP \ поставщика \ доктриной \ живучесть \ Lib \ Doctrine \ Common \ Постоянство \ Mapping \ MappingException.php: 93 Трассировка стека: # 0 F: \ XAMPP \ httpd.private \ SRC \ PHP \ поставщика \ доктриной \ живучесть \ Lib \ Doctrine \ Common \ Постоянство \ Mapping \ RuntimeReflectionService.php (24): Доктрина \ Common \ Постоянство \ Mapping \ MappingException :: nonExistingClass ( 'полномочия')

1 F: \ XAMPP \ httpd.private \ src \ php \ vendor \ doctrine \ persistence \ lib \ Doctrine \ Common \ Persistence \ Mapping \ AbstractClassMetadataFactory.php (250):

Doctrine \ Common \ Постоянство \ Mapping \ RuntimeReflectionService-> getParentClasses ( 'полномочия')

2 F: \ XAMPP \ httpd.private \ src \ php \ vendor \ doctrine \ persistence \ lib \ Doctrine \ Common \ Persistence \ Mapping \ AbstractClassMetadataFactory.php (283):

Doctrine \ Common \ Постоянство \ Mapping \ AbstractClassMetadataFactory-> getParentClasses ( 'полномочия')

3 F: \ XAMPP \ httpd.private \ src \ php \ vendor \ doctrine \ orm \ lib \ Doctrine \ ORM \ Mapping \ ClassMetadat

в F: \ XAMPP \ httpd.private \ SRC \ PHP \ поставщика \ доктриной \ живучесть \ Lib \ Doctrine \ Common \ Постоянство \ Mapping \ MappingException.php по линии 93

ошибка возникает при вызове метода Find EntityManager:

$this->credentials = $this->entityManager->Find('credentials', $result[0]["id"]);

1 Ответ

0 голосов
/ 28 июня 2019

Исключение больше не возникает после добавления полного имени класса к вызову метода Find EntityManager:

$this->credentials = $this->entityManager->Find('Businessrelations\Database\Credentials', $result[0]["id"]);
...