Я хочу получить запрос от нескольких баз данных, я пытаюсь соединить две базы данных (database1, database2), которые я определил
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'
Я добавил код ниже 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);
}
и в модели .. я определил file.php для получения запроса из db2:
<?php
class Model_file extends Zend_Db_Table_Abstract
{
protected $_name = 'file';
protected $_schema = 'db2';
}
и Model_Books для db1
<?php
class Model_Books extends Zend_Db_Table_Abstract
{
protected $_name = 'subscriber';
protected $_schema = 'db1';
}
в контроллере у меня есть это:
$fileModel = new Model_file();
$select = $fileModel->select();
$booksModel = new Model_Books();
$select = $booksModel->select();
но я получаю эту ошибку:
Неустранимая ошибка: необработанное исключение «Zend_Db_Adapter_Exception» с сообщением «Массив конфигурации должен иметь ключ для« dbname », который называет экземпляр базы данных»
Как я могу это исправить?
Задача ещё не решена.
Других решений пока нет …