微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – Symfony2:如何从SAME Bundle中的MULTIPLE现有数据库生成实体?

我的目标是访问One Project Bundle中的多个数据库.

我通读了symfony2文档并成功完成了以下操作:

> configure multiple connections for different Bundles
> generate Entities from ONE Existing Database使用:

PHP app/console doctrine:mapping:import AcmeBlogBundle annotation
PHP app/console doctrine:generate:entities AcmeBlogBundle

但我找不到从SAME Bundle中的MULTIPLE现有数据库生成实体的方法,以便我可以访问One Bundle中的多个数据库.有任何想法吗?

附:我不熟悉学说.所以实际上如果有办法在没有Doctrine的情况下做Symfony2,我也很感激.

更新#1:

Cerad’s answer非常接近.然而,一个问题尚未解决.由于我在不同的数据库中有相同的表名,最好将它们组织到实体文件夹中的separte文件夹中.我检查了类似的帖子,如thisthat.但解决方案对我不起作用.他们的解决方案只是将所有实体直接放入Entity Folder,忽略config.yml中指定的dir选项.这个问题有解决方法吗?

它配置多个实体管理器(不是连接)的第一步,每个数据库一个.然后,您可以在doctrine命令上使用–em选项指定要使用的实体管理器.
PHP app/console doctrine:mapping:import "AcmeBlogBundle" annotation --em=name1
PHP app/console doctrine:mapping:import "AcmeBlogBundle" annotation --em=name2

请注意,您无法使用doctrine直接在多个数据库查询(加入).至少不是很容易.只要您计划一次将查询限制到一个数据库,那么您就可以了.

这实际上是一个有点高级的话题.您可能希望花一些时间学习文档.也可能更容易开始使用一个数据库,然后再拆分.

原文地址:https://www.jb51.cc/php/137337.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐