2
我最近開始使用Phalcon PHP框架,有一件事讓我很困惑。Phalcon db連接到同一主機上的多個數據庫
如何設置$di
在同一主機上使用多個數據庫?例如如何使這項工作查詢
SELECT * FROM
DB1.TABLENAME_1 AS t1
LEFT OUTER JOIN DB2.TABLENAME_2 AS t2 ON t1.some_id = t2.other_id
我已經註冊連接DB1,我已經加載的所有模式,可以輕鬆地從任何型號訪問數據,但是當我從1分貝試圖JOIN
表從第二個數據庫表我收到提示模式「TABLENAME_2」無法加載屬於DB2
這裏是我的$di
$di->setShared('db', function() use ($config) {
return new DbAdapter(array(
'host' => $config->database->host,
'username' => $config->database->username,
'password' => $config->database->password,
'dbname' => $config->database->dbname,
'options' => array(
PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'UTF8'"
)
));
});
連接的用戶是否具有對這兩個數據庫的讀取權限? – 2014-09-04 13:33:11
是的,我也創建了一個模型'TABLENAME_2',Phalcon試圖用'DB1'而不是'DB2'來映射這個模型。 – 2014-09-04 13:49:51
只需在DI中添加兩個數據庫連接,然後在模型中設置連接服務: https://github.com/phalcon/cphalcon/issues/244 – Phantom 2014-09-04 16:14:02