Класс LogEntry не найден - PullRequest
       25

Класс LogEntry не найден

0 голосов
/ 06 декабря 2018

В моем приложении, разработанном с использованием Symfony 4.2 и API Platform,
я устанавливаю комплект DoctrineExtensions , чтобы использовать расширение Loggable,
и следую инструкциям в документации Symfony и Расширение Loggable .

Когда я использую только один EntityManager, все работает.
Но я хочу переместить таблицу сущностей LogEntry в другую базу данных.
Поэтому я создал второй EntityManager, как описанов Symfony doc .

После этого в моем приложении я изменяю сущность с аннотацией @Gedmo\Loggable
и получаю эту ошибку:
The class 'Gedmo\Loggable\Entity\LogEntry' was not found in the chain configured namespaces 'App\Entity'.

Мой config/packages/doctrine.yaml файл:

parameters:
    env(DATABASE_URL): ''

doctrine:
    dbal:
        connections:
            default:
                driver: 'pdo_mysql'
                server_version: '%env(resolve:SERVER_VERSION)%'
                charset: utf8mb4
                default_table_options:
                    charset: utf8mb4
                    collate: utf8mb4_unicode_ci
                url: '%env(resolve:DATABASE_URL)%'
            log:
                driver: 'pdo_mysql'
                server_version: '%env(resolve:SERVER_VERSION)%'
                charset: utf8mb4
                default_table_options:
                    charset: utf8mb4
                    collate: utf8mb4_unicode_ci
                url: '%env(resolve:LOG_DATABASE_URL)%'
    orm:
        auto_generate_proxy_classes: '%kernel.debug%'
        entity_managers:
            default:
                naming_strategy: doctrine.orm.naming_strategy.underscore
                mappings:
                    App:
                        is_bundle: false
                        type: annotation
                        dir: '%kernel.project_dir%/src/Entity'
                        prefix: 'App\Entity'
            log:
                naming_strategy: doctrine.orm.naming_strategy.underscore
                connection: log
                mappings:
                    gedmo_loggable:
                        is_bundle: false
                        type: annotation
                        dir: '%kernel.project_dir%/vendor/gedmo/doctrine-extensions/lib/Gedmo/Loggable/Entity'
                        prefix: 'Gedmo\Loggable\Entity'
                        alias: GedmoLoggable

Пример сущности, которую я хочу посмотреть:

<?php
namespace App\Entity;

...
use Gedmo\Mapping\Annotation as Gedmo;
...

/**
 * @ApiResource
 * @Gedmo\Loggable
 * @ORM\Table(name="patients")
 */
class Patient
{
    /**
     * @ORM\Id
     * @ORM\Column(type="guid", unique=true)
     * @ORM\GeneratedValue(strategy="UUID")
     * @Assert\Uuid
     */
    private $id;

    /**
     * @ORM\Column(length=50)
     * @Assert\NotBlank()
     * @Assert\Length(max=50)
     * @Gedmo\Versioned
     */
    public $familyName;

    /**
     * @ORM\Column(length=50)
     * @Assert\NotBlank()
     * @Assert\Length(max=50)
     * @Gedmo\Versioned
     */
    public $firstName;

    ...
}

Я пытался добавить и удалитьнекоторые свойства в doctrine.yaml, но я всегда получаю ту же ошибку ...

Спасибо за ваше время.

...