zf2 zend framework zend-framework2 zend-db zend-db-table

zend framework2 - zend - MasterSlaveFeature How-To



zend framework db limit (1)

Actualmente tengo mis modelos de Db usando AbstractTableGateway y todas mis consultas de seleccionar / insertar / actualizar / eliminar están funcionando bien. Pero ahora me gustaría agregar MasterSlaveFeature y estoy un poco confundido sobre cómo hacer esto. La documentación no proporciona exactamente un buen ejemplo:

http://zf2.readthedocs.org/en/latest/modules/zend.db.table-gateway.html#tablegateway-features

Actualmente tengo esta configuración:

namespace Login/Model; use Zend/Db/TableGateway/Feature/MasterSlaveFeature; use Zend/Db/TableGateway/Feature/FeatureSet; use Zend/Db/TableGateway/AbstractTableGateway; use Zend/Db/Sql/Select; use Zend/Db/Sql/Expression; class Passport extends AbstractTableGateway { public function __construct($adapter, $slave) { $this->table = ''passport''; $this->adapter = $adapter; $this->featureSet = new FeatureSet(); $this->featureSet->addFeature(new MasterSlaveFeature($slave)); $this->initialize(); } public function Profile($employeeid) { $result = $this->select(function (Select $select) use ($employeeid) { $select ->columns(array( ''count'' => new Expression(''COUNT(*)''), ''employeeid'', ''passwd'', ''group'', ''name'', ''status'', ''timezone'', ''timeformat'', ''locale'', ''max_search'' )) ->where($this->adapter->getPlatform()->quoteIdentifier(''employeeid'') . '' = '' . $this->adapter->getPlatform()->quoteValue($employeeid)) ->limit(1); }); return $result->current(); }

}

Estoy pasando dos adaptadores $ adaptador y $ esclavo, cada uno tiene las mismas tablas, excepto que uno está vacío y el otro realmente tiene datos. Basado en la documentación, lo que tengo debe funcionar, pero siento que me falta algo aquí, pero no sé qué.

El $ adaptador es la base de datos maestra que tiene los datos. El $ slave es la base de datos esclava que no tiene datos.

Me gustaría que mis SELECTS tomaran los datos del $ slave (que actualmente no tiene datos) e Insert / Update / Delete deberían ir al $ adapter.

¿Puede alguien ayudarme a resolver esto? Gracias


ACTUALIZACIÓN: A partir de ZF 2.0.5 hay un error. La configuración es correcta

ACTUALIZACIÓN: Parece que esto debería resolverse en la versión 2.1

ACTUALIZACIÓN: ahora puedo confirmar que esto está resuelto y trabajando en 2.0.7 y 2.1