Zend Framework 2跨数据库连接

时间:2013-12-04 16:58:41

标签: php sql join zend-framework2 cross-database

有没有真正的方法在zf2 select语句中进行跨数据库连接?我一直在寻找一种可行的方法来执行此操作,而不是试图编写完整的sql语句。

目前我的查询看起来有点像这样:

$selectDB2 = $this->getSelect('db2.tabledb2');

$selectDB = $this->getSelect('field1');
$selectDB->join(
                ['tabledb2' => $selectDB2],
                'tabledb1.id = tabledb2.id',
                [],
                $select::JOIN_LEFT. ' '. $select::JOIN_OUTER
            );

经过研究,我发现ZF2确实存在问题: https://github.com/zendframework/zf2/issues/4307

问题是zf2转义引用的方式,并列出了解决方案。但是,我理想情况下是一种不需要修改zf2库本身的方法,也不需要我编写一个冗长的sql语句(因为这不是这个查询范围的可行选项)。 / p>

1 个答案:

答案 0 :(得分:1)

解决。 ZF2的TableIdentifier很好地解决了这个问题。这可以非常干净有效地解决所有问题。

$selectDB2 = $this->getSelect(new TableIdentifier('tabledb2', 'db2'));