在我的项目中,我有2个捆绑包(AppBundle和CommonBundle)和2个不同的数据库,每个捆绑包1个。在我的配置中,它显示如下:
orm:
default_entity_manager: default
auto_generate_proxy_classes: "%kernel.debug%"
entity_managers:
default:
connection: default
auto_mapping: true
naming_strategy: doctrine.orm.naming_strategy.underscore
common:
connection: common_data
auto_mapping: false
mappings:
CommonBundle: ~
#FOSUserBundle: ~
naming_strategy: doctrine.orm.naming_strategy.underscore
现在我在CommonBundle
的存储库中,我想访问AppBundle
的连接以从其数据库中获取一些数据,如下所示:
<?php
namespace CommonBundle\Repository;
use Doctrine\ORM\EntityRepository;
use CommonBundle\Entity\Audit;
class AuditRepository extends EntityRepository
{
public function MyFunc()
{
$em =$this->getEntityManager();
$em_def =$this->getEntityManager('default');
$em_def->getRepository('AppBundle:Info')->getInfo('myInfo');//ERROR here
}
}
但我得到以下错误:
Uncaught PHP Exception Doctrine\ORM\ORMException: "Unknown Entity namespace alias 'AppBundle'." at ...
所以任何想法如何解决它都会受到欢迎。谢谢。
答案 0 :(得分:-1)
您需要使用完整路径,因为您在另一个Bundle中 尝试这个或类似的完整路径:
$em_def->getRepository('AppBundle\Entity\Info')->getInfo('myInfo');