2013-07-22 40 views
2

如何使用zf2连接来自不同数据库的两个表? 我想写下面的查询。ZF2中的交叉数据库

SELECT db1.table1.*, db2.table2.* FROM db1.table1 
INNER JOIN db2.table2 ON db2.table2.field1 = db1.table1.field1 

请举一些例子吗?

+0

来源你可以在这里找到答案太 - > HTTP://计算器.com/questions/14354802/tablegateway-with-multiple-from-tables/14371056#14371056 – Diemuzi

回答

0

我没有检查语法,但它基本上是这样的:

$db = new Zend_Db_Adapter_Pdo_Mysql(array(
    'host'  => '127.0.0.1', 
    'username' => 'webuser', 
    'password' => 'xxxxxxxx', 
    'dbname' => 'test' 
)); 
$select = $db->select() 
      ->from(array('table1' => 'db1.table1'), array('table1.*','table2.*')) 
      ->joinInner(array('table2' => 'db2.table2'), 'table2.field1 = table1.field1', array()); 
$result = $select->query->fetchAll(); 
var_dump($result); 

编辑:$ DB定义从http://framework.zend.com/manual/1.12/en/zend.db.adapter.html

+0

感谢您的及时回复。你在哪里定义了$ db?你能举个完整的例子吗? – chinna

+0

'$ db'是适配器。它同样可以是表格实例。我已经更新了我的答案。 –

+0

感谢您的更新。我感谢您的帮助!但是,我收到以下错误。 PHP致命错误:未找到类'XXX \\ Model \\ Zend_Db_Adapter_Pdo_Mysql'。 我使用Google搜索并尝试添加以下内容。但是,我仍然遇到同样的错误。请帮忙! require_once'Zend/Db/Adapter/Pdo/Mysql.php'; require_once'Zend/Db/Adapter/Pdo/Mysql.php'; 或 require_once '的Zend/DB /适配器/驱动程序/ PDO/Pdo.php'; 或 require_once'Zend/Db/Adapter/Driver/Pdo/Mysql.php'; 或 require_once'Zend/Loader/Autoloader.php'; – chinna