Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Zend framework2 MasterSlaveFeature如何_Zend Framework2_Zend Db_Zend Db Table - Fatal编程技术网

Zend framework2 MasterSlaveFeature如何

Zend framework2 MasterSlaveFeature如何,zend-framework2,zend-db,zend-db-table,Zend Framework2,Zend Db,Zend Db Table,目前,我的Db模型使用AbstractTableGateway,我所有的选择/插入/更新/删除查询都工作正常。但是现在我想添加MasterSlaveFeature,我有点不明白该怎么做。文档并没有给出一个很好的例子: 我目前有以下设置: namespace Login\Model; use Zend\Db\TableGateway\Feature\MasterSlaveFeature; use Zend\Db\TableGateway\Feature\FeatureSet; use Zend

目前,我的Db模型使用AbstractTableGateway,我所有的选择/插入/更新/删除查询都工作正常。但是现在我想添加MasterSlaveFeature,我有点不明白该怎么做。文档并没有给出一个很好的例子:

我目前有以下设置:

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

我正在传递两个适配器$adapter和$slave,它们都有相同的表,除了一个是空的,另一个实际上有数据。根据文档,我所拥有的应该是有效的,但我觉得我遗漏了一些东西,但不知道是什么

$adapter是包含数据的主数据库 $slave是没有数据的从属数据库

我希望选择从$slave(当前没有数据)获取数据,插入/更新/删除应转到$adapter


有人能帮我弄清楚吗?谢谢更新:从ZF 2.0.5开始,有一个bug。配置正确

更新:看起来这应该在2.1版本中解决

更新:我现在可以确认此问题已解决,并在2.0.7和2.1中工作