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