2013-07-22 31 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