我有以下教义配置,
教义配置
doctrine:
dbal:
default_connection: default
connections:
default:
driver: %database_driver%
host: %database_host%
port: %database_port%
dbname: %database_name%
user: %database_user%
password: %database_password%
charset: UTF8
mapping_types:
enum: string
em1:
driver: %database_driver%
host: %database_host%
port: %database_port%
dbname: em1
user: %database_user%
password: %database_password%
charset: UTF8
em2:
driver: %database_driver%
host: %database_host%
port: %database_port%
dbname: em2
user: %database_user%
password: %database_password%
charset: UTF8
types:
json: Sonata\Doctrine\Types\JsonType
orm:
auto_generate_proxy_classes: %kernel.debug%
default_entity_manager: default
entity_managers:
default:
connection: default
mappings:
MyDemoBundle : ~
MyMessagingBundle : ~
em1:
connection: em1
mappings:
MyOtherBundle : ~
porting:
connection: em2
mappings:
SonataNotificationBundle: ~
ApplicationSonataNotificationBundle: ~
我在 MyDemoBundle 中有我的所有实体
使用 MyDemoBundle 的实体,MyMessagingBundle 正在从 em1 数据库中读取表,创建消息以发送电子邮件并将这些消息传递给奏鸣曲后端服务,该服务应该将它们存储到数据库 em2 中奏鸣曲的表“notifications__message”中。但我收到错误
在链配置的命名空间 My\DemoBundle\Entity 中找不到类 'Application\Sonata\NotificationBundle\Entity\Message'
看起来像是从 em1 实体管理器下的 MyMessagingBundle 调用位于 em2 实体管理器下的 SonataNotificationBundle 服务不允许奏鸣曲访问其在 em2 下的实体。它尝试从调用服务的位置查找实体。
最初,当在 em1 下的捆绑包下时,一切正常。我只是将它们移至 em2 实体管理器。
SonataNotificationBundle: ~ ApplicationSonataNotificationBundle: ~
请帮忙。