Estoy trabajando con 2 bases de datos y cuando llamo a la base de datos que no es la default, la llama sin problemas pero me llama a una tabla de la otra base.
Esto tengo en el Boostrap para las dos bases
Código PHP:
Ver original
protected function _initAdapterDb(){ $config = new Zend_Config_Ini(APPLICATION_PATH.'/configs/application.ini', 'Database'); $db = Zend_Db::factory($config->resources->db->adapter,$config->resources->db->params->toArray()); Zend_Db_Table::setDefaultAdapter($db); Zend_Registry::set('db', $db); //adaptador para la base lacomercial $config2 = new Zend_Config_Ini(APPLICATION_PATH.'/configs/application.ini', 'Dosdatabase'); $dblac = Zend_Db::factory($config2->resources->db->adapter,$config2->resources->db->params->toArray()); Zend_Registry::set('dblacomercial', $dblac); }
ESto tengo en el application.ini para configurar las dos bases:
Código PHP:
Ver original
[Database] resources.db.adapter = "pdo_mysql" resources.db.params.host = "localhost" resources.db.params.username = "user" resources.db.params.password = "pass" resources.db.params.dbname = "baseuno" resources.db.isDefaultTableAdapter = true [Dosdatabase] resources.db.adapter = "pdo_mysql" resources.db.params.host = "localhost" resources.db.params.username = "user" resources.db.params.password = "pass" resources.db.params.dbname = "lacomercial" ;resources.db.isDefaultTableAdapter = true
Aca tengo el modelo
Código PHP:
Ver original
<?php class Moduno_Model_Librovisitas extends Zend_Db_Table_Abstract { protected $_name = 'librovisitas'; protected $_primary = 'id'; protected $table; //protected $adapterdb; public function init(){ $db = Zend_Registry::get('dblacomercial'); //cambio de base de datos $this->setDefaultAdapter($db); } function vertodoellibro(){ $db = Zend_Db_Table_Abstract::getDefaultAdapter(); $select ="select * from librovisitas"; $prima = $db->fetchAll($select); return $primaria; } } ?>
Este es el action donde hago el llamado:
Código PHP:
Ver original
public function librovisitasAction(){ $todoslosmensajes=new Moduno_Model_Librovisitas(); $this->view->todoellibro=$todoslosmensajes->vertodoellibro(); }
Pues me sale con este error:
Código PHP:
Me dice que estoy llamando a la tabla "autos" cuando yo estoy claramente llamando a la tabla "librovisitas".Ver original
Zend_Db_Statement_Exception: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'lacomercial.autos' doesn't exist in C:\wamp\www\Zendf\libreriazend\library\Zend\Db\Statement\Pdo.php on line 234
Aclaro que "Autos" es una tabla de la base default o sea no existe en esta base de datos.
Si alguien ve algun error o que me falta algo por favor avisar que no puedo dar en la tecla hace un buen rato.