找不到类LogEntry

时间:2018-12-06 14:16:17

标签: symfony doctrine entitymanager gedmo-loggable

在我使用Symfony 4.2和API平台开发的应用中,
我安装DoctrineExtensions bundle以使用Loggable扩展名,
并且我按照Symfony documentationLoggable extension中的说明进行操作。

当我仅使用一个EntityManager时,一切正常。
但是我想将LogEntry实体表移到另一个数据库。
因此,我按照Symfony doc中所述创建了第二个EntityManager。

之后,我在我的应用程序中修改了带有注解@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中添加和删除一些属性,但是我总是遇到相同的错误...

感谢您的时间。

0 个答案:

没有答案