Estoy trabajando con una aplicación ZF y debo utilizar 2 bases de datos, estoy siguiendo el manual pero hay algo que no lo tengo claro, explico.
application.ini
Código PHP:
Ver original
;bases de datos resources.multidb.db1.adapter = "pdo_mysql" resources.multidb.db1.host = "localhost" resources.multidb.db1.username = "d" resources.multidb.db1.password = "f" resources.multidb.db1.dbname = "a" resources.multidb.db2.adapter = "pdo_pgsql" resources.multidb.db2.host = "localhost" resources.multidb.db2.username = "d" resources.multidb.db2.password = "f" resources.multidb.db2.dbname = "b" resources.multidb.db2.default = true
En el bootstrap registro los adapters:
Código PHP:
Ver original
protected function _initDbAdaptersToRegistry() { $this->bootstrap('multidb'); $resource = $this->getPluginResource('multidb'); $resource->init(); $Adapter1 = $resource->getDb('db2'); $Adapter2 = $resource->getDb('db1'); Zend_Registry::set('Adapter1RegKey', $Adapter1); Zend_Registry::set('Adapter2RegKey',$Adapter2); }
Llamada del modelo en el controlador:
Código PHP:
Ver original
$autos = Default_Model_Autos(); $vertodos = $autos->vertodos();
el modelo:
Código PHP:
Si alguien puede ver donde está el error le agradezco.Ver original
class Default_Model_Autos extends Zend_Db_Table_Abstract { protected $_name = 'autos'; protected $_primary = 'id'; protected $_coneccion = Zend_Registry::get('Adapter2RegKey'); function vertodos(){ $todos = $this->_coneccion->fetchAll(); return $todos; }
PD:Me llamó la atención que no utilice Zend_Db::factory(... pero así está en el manual.