Symfony4 - Doctrine Cross Database加入配置
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Symfony4 - Doctrine Cross Database加入配置相关的知识,希望对你有一定的参考价值。
我需要跨数据库关系,我有qazxsw poi但由于映射问题我无法得到我想要的东西。这是我的情况
read about this
我的学说.yaml
namespace AppEntityUtility;
use DoctrineORMMapping as ORM;
use AppEntityCrmUser;
/**
* Description of Test
*
* @ORMTable(name="fgel_utility.fgel_test")
* @ORMEntity(repositoryClass="AppRepositoryUtilityTestRepository")
*/
class Test
{
/**
* @ORMColumn(name="id", type="integer")
* @ORMId
* @ORMGeneratedValue(strategy="AUTO")
*/
protected $id;
/**
*
* @var User
*
* @ORMManyToOne(targetEntity="AppEntityCrmUser")
* @ORMJoinColumn(name="user_cod", referencedColumnName="AUCUT")
*/
protected $user = null;
public function getId()
{
return $this->id;
}
public function getUser(): User
{
return $this->user;
}
public function setId($id)
{
$this->id = $id;
return $this;
}
public function setUser(User $user)
{
$this->user = $utente;
return $this;
}
}
namespace AppEntityCrm;
use DoctrineORMMapping as ORM;
/**
*
* @ORMTable(name="crm.USER")
* @ORMEntity(repositoryClass="AppRepositoryFintelGasDatiAnuteRepository")
*/
class User
{
/**
*
* @ORMId
* @ORMColumn(name="AUCUT", type="integer", nullable=false)
*/
protected $codiceCliente;
# SOME CODE
}
所以他们共享相同的连接(但不同的em)。连接的用户具有读/写两个数据库的权限(但只能将模式更改为fgel_utility数据库。两个数据库都存储在SQL Server 2008中。当我试着执行时
doctrine:
orm:
default_entity_manager: default
entity_managers:
#################################
# Update schema only with this em
#################################
default:
connection: mssql_1
mappings:
Utility:
type: "annotation"
# The directory for entity (relative to bundle path)
dir: '%kernel.project_dir%/src/Entity/Utility'
prefix: 'AppEntityUtility'
alias: Utility
mssql_crm:
connection: mssql_1
mappings:
Crm:
type: "annotation"
# The directory for entity (relative to bundle path)
dir: '%kernel.project_dir%/src/Entity/Crm'
prefix: 'AppEntityCrm'
alias: Crm
我收到这个错误
在链配置的命名空间App Entity Utility,FOS UserBundle Model中找不到类“App Entity Crm User”
答案
根据这个php bin/console doctrine:schema:update --dump-sql
交叉数据库连接不同的实体管理器(相同的连接)不受支持。
以上是关于Symfony4 - Doctrine Cross Database加入配置的主要内容,如果未能解决你的问题,请参考以下文章
Symfony4 UnitTest 中的 Doctrine2 orderBy
Symfony 4 + Sonata + Sonata Doctrine ORM Admin Bundle:错误:没有要处理的元数据类
Symfony 4:调用 getter 后,Doctrine2 LAZY Fetch Collection 仍然为空