MasterSlaveFeature-Anleitung

Ich habe derzeit meine Db-Modelle mit AbstractTableGateway und alle meine Abfragen zum Auswählen / Einfügen / Aktualisieren / Löschen funktionieren einwandfrei. Aber jetzt möchte ich das MasterSlaveFeature hinzufügen und bin ein bisschen verwirrt, wie das geht. Die Dokumentation gibt nicht gerade ein gutes Beispiel:

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

Ich habe derzeit dieses Setup:

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();
}

}

Ich übergebe zwei Adapter $ adapter und $ slave, jeder hat die gleichen Tabellen, außer einer ist leer und der andere hat tatsächlich Daten. Anhand der Dokumentation sollte funktionieren, was ich habe, aber ich habe das Gefühl, dass mir hier etwas fehlt, aber ich weiß nicht was.

Der $ adapter ist die Master-Datenbank, die die Daten enthält. Der $ slave ist die Slave-Datenbank, die keine Daten enthält

Ich möchte, dass meine SELECTS die Daten vom $ slave (der derzeit keine Daten enthält) übernehmen und Insert / Update / Delete zum $ adapter gehen.

Kann mir jemand helfen, das herauszufinden? Vielen Dank

Antworten auf die Frage(1)

Ihre Antwort auf die Frage