[英]Cross Database Joins Doctrine
我的Zoct2教義中有2個連接,但是我需要在twoo數據庫中進行加入。 最大的問題是:是否可以對位於不同數據庫和連接中的兩個表執行聯接?
'connection' => array(
// Default DB connection
'orm_default' => array(
'driverClass' => 'Doctrine\DBAL\Driver\PDOMySql\Driver',
'params' => array(
'host' => 'localhost',
'user' => 'root',
'port' => '3306',
'password' => '',
'dbname' => 'MYSQL_TEST',
'driverOptions' => array(
PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'UTF8'"
)
),
),
// Alternative DB connection
'orm_alternative' => array(
'driverClass' => 'Doctrine\DBAL\Driver\PDOSqlsrv\Driver',
'params' => array(
'host' => 'localhost',
'user' => 'sa',
'port' => '',
'password' => 'test',
'dbname' => 'MSSQL_TEST',
),
),
),
實體MYSQL示例:
/**
* mysql_test
*
* @ORM\Table(name="mysql_table")
* @ORM\Entity
* @ORM\HasLifecycleCallbacks
* @ORM\Entity(repositoryClass="MYSQL\Entity\TestRepository")
*/
class Test
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer", nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* @ORM\OneToOne(targetEntity="MSSQL\Entity\Test")
* @ORM\JoinColumn(name="id_mssql", referencedColumnName="id_mssql")
*/
private $mssql;
我想在這兩個連接之間進行連接:(
不幸的是,您可能正在尋找的簡短答案是“ 否” 。
有兩種方式可以共享數據(在您的情況下為mysql和mssql),並且如果您覺得冒險, 這篇文章可能會使您誤入歧途。
但我建議您僅從每個連接中分別選擇您的數據,然后通過匹配每個結果中的公用鍵在php
對其進行操作以實質上模擬聯接。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.