У меня возникла проблема с zend multidb. Мои адаптеры не переключаются и которые когда-либо устанавливаются по умолчанию, привыкают каждый раз. А также это не дает мне никакой ошибки. Ниже приведен код, который я использую для функции zend multidb.Адаптеры Zend MultiDB не переключаются
Bootstrap.php
public function _initDB()
{
Zend_Registry::getInstance();
$this->bootstrap('multidb');
$multidb = $this->getPluginResource('multidb');
Zend_Registry::set('dbR', $multidb->getDb('dbR'));
Zend_Registry::set('dbW', $multidb->getDb('dbW'));
}
Application.ini
resources.multidb.dbR.adapter = "mysqli"
resources.multidb.dbR.host = "xxx.xxx.x.xx"
resources.multidb.dbR.username = "root"
resources.multidb.dbR.password = "admin"
resources.multidb.dbR.dbname = "test_app1"
resources.multidb.dbR.profiler = "false"
resources.multidb.dbR.isDefaultTableAdapter = "true"
resources.multidb.dbW.adapter = "mysqli"
resources.multidb.dbW.host = "xxx.xxx.x.xx"
resources.multidb.dbW.username = "root"
resources.multidb.dbW.password = "admin"
resources.multidb.dbW.dbname = "test_app2"
Теперь в моем классе модели я использую следующую строку кода, где я хочет выполнить любую операцию записи
class Abc_Model_ModelName extends Zend_Db_Table_Abstract
{
protected $_dbR;
protected $_dbW;
protected $_name = 'table_name';
public function init(){
$this->_dbR = Zend_Registry::get("dbR");
$this->_dbW = Zend_Registry::get("dbW");
}
public function addedit($data = array())
{
$this->setDefaultAdapter($this->_dbW);
}
}
может ли кто-нибудь помочь мне с этим?
не должна быть '$ это -> _ dbw-> getAdapter(); или -> getDb() 'вы, вероятно, не хотите сбросить свой адаптер по умолчанию, но вы хотите получить и экземпляр второго адаптера. Я допускаю, что документация в этом случае не очень хорошая, поэтому я тоже не уверен. – RockyFord
@RockyFord Я уже делал это в своем загрузочном файле и сохраняю его в реестре и извлекаю его в классе модели –