Поэтому я пытаюсь сделать множественную связь с доктриной в моем проекте symfony.
Во-первых, я использовал только одну базу данных, тогда мне нужно было добавить другую.
это было до:
# Doctrine Configuration doctrine: dbal: default_connection: extranet connections: extranet: driver: pdo_mysql host: "%db_extranet_host%" port: "%db_extranet_port%" dbname: "%db_extranet_name%" user: "%db_extranet_user%" password: "%db_extranet_password%" charset: UTF8 orm: auto_generate_proxy_classes: "%kernel.debug%" entity_managers: extranet: naming_strategy: doctrine.orm.naming_strategy.underscore auto_mapping: true
и он отлично работает
Затем я добавил базу данных «обход»:
# Doctrine Configuration doctrine: dbal: default_connection: extranet connections: extranet: driver: pdo_mysql host: "%db_extranet_host%" port: "%db_extranet_port%" dbname: "%db_extranet_name%" user: "%db_extranet_user%" password: "%db_extranet_password%" charset: UTF8 crawl: driver: pdo_mysql host: "%db_crawl_host%" port: "%db_crawl_port%" dbname: "%db_crawl_name%" user: "%db_crawl_user%" password: "%db_crawl_password%" charset: UTF8 orm: auto_generate_proxy_classes: "%kernel.debug%" default_entity_manager: extranet entity_managers: extranet: connection: extranet naming_strategy: doctrine.orm.naming_strategy.underscore mappings: AppBundle: ~ crawl: connection: crawl naming_strategy: doctrine.orm.naming_strategy.underscore mappings: DbBccCrawlBundle: ~
Я избавился от auto_mapping и добавил несколько вещей
НО, теперь я потерял соединение с экстрасети (пользователи больше не могут логгировать)
Есть идеи? (и спасибо, если вы зачитали это далеко;))
РЕДАКТИРОВАТЬ
следуя http://symfony.com/doc/2.3/reference/configuration/doctrine.html#mapping-entities-outside-of-a-bundle Я попытался иметь такой же синтаксис:
orm: # auto_generate_proxy_classes: "%kernel.debug%" default_entity_manager: extranet # auto_mapping: true mappings: AppBundle: type: annotation dir: '%kernel.root_dir%/../src/AppBundle/Entity' prefix: AppBundle\Entity alias: App DbBccCrawlBundle: type: annotation dir: '%kernel.root_dir%/../src/DbBccCrawlBundle/Entity' prefix: DbBccCrawlBundle\Entity alias: Crawl
все еще не работает ….
EDIT 2
orm: auto_generate_proxy_classes: "%kernel.debug%" default_entity_manager: extranet entity_managers: auto_mapping: true extranet: connection: extranet naming_strategy: doctrine.orm.naming_strategy.underscore mappings: AppBundle: type: annotation # dir: '%kernel.root_dir%/../src/AppBundle/Entity' # prefix: AppBundle\Entity alias: App crawl: connection: crawl naming_strategy: doctrine.orm.naming_strategy.underscore mappings: DbBccCrawlBundle: type: annotation # dir: '%kernel.root_dir%/../src/DbBccCrawlBundle/Entity' # prefix: DbBccCrawlBundle\Entity alias: Crawl
не работает ни
Я не знаю почему / как, но он работает
вот код:
orm: auto_generate_proxy_classes: "%kernel.debug%" entity_managers: extranet: naming_strategy: doctrine.orm.naming_strategy.underscore auto_mapping: true crawl: naming_strategy: doctrine.orm.naming_strategy.underscore connection: crawl mappings: DbBccCrawlBundle: ~
дело в том, что я пробовал это в начале, и это провалилось (класс X не найден в …)
Если у кого-то есть объяснение, я буду более чем рад прочитать его.
Спасибо, в любом случае
Это была вторая часть вопроса, вот начало: класс «X» не был найден в цепочке с именами цепочек … когда я пытаюсь использовать множественное соединение с доктриной