1

有什么真正的方法可以在 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 语句(因为这不是此查询范围的可行选项)。

4

1 回答 1

1

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

$selectDB2 = $this->getSelect(new TableIdentifier('tabledb2', 'db2'));
于 2013-12-05T10:36:35.637 回答