I want to get query from multi databases ,I'm trying to connection two databases (database1,database2) I've define
application.ini:
resources.multidb.db1.adapter = "PDO_MYSQL"
resources.multidb.db1.params.host = 'localhost'
resources.multidb.db1.params.username = 'root'
resources.multidb.db1.params.password = ''
resources.multidb.db1.params.dbname = 'database1'
resources.multidb.db1.isDefaultTableAdapter = true
resources.multidb.db2.adapter = "PDO_MYSQL"
resources.multidb.db2.params.host = 'localhost'
resources.multidb.db2.params.username = 'root'
resources.multidb.db2.params.password = ''
resources.multidb.db2.params.dbname = 'database2'
I've added below code to Bootstrap.php:
protected function _initDbAdapter()
{
$resource = $this->getPluginResource('multidb');
$resource->init();
$db1 = $resource->getDb('db1');
$db2 = $resource->getDb('db2');
Zend_Registry::set('db1', $db1);
Zend_Registry::set('db2', $db2);
}
and in Model .. I've define File.php for get query from db2 :
<?php
class Model_file extends Zend_Db_Table_Abstract
{
protected $_name = 'file';
protected $_schema = 'db2';
}
and Model_Books for db1
<?php
class Model_Books extends Zend_Db_Table_Abstract
{
protected $_name = 'subscriber';
protected $_schema = 'db1';
}
in controller I have this:
$fileModel = new Model_file();
$select = $fileModel->select();
$booksModel = new Model_Books();
$select = $booksModel->select();
but I'm getting this error:
Fatal error: Uncaught exception 'Zend_Db_Adapter_Exception' with message 'Configuration array must have a key for 'dbname' that names the database instance'
How can I fix it?