首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MasterSlaveFeature操作指南

MasterSlaveFeature操作指南
EN

Stack Overflow用户
提问于 2012-12-03 05:43:31
回答 1查看 1.4K关注 0票数 4

目前我的Db模型使用AbstractTableGateway,所有的select/insert/update/delete查询都可以正常工作。但是现在我想添加MasterSlaveFeature,我有点困惑该怎么做。文档并没有给出一个很好的例子:

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

我目前有这样的设置:

代码语言:javascript
运行
复制
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是没有数据的从数据库

我希望我的SELECTS从$slave (当前没有数据)中获取数据,并且插入/更新/删除应该转到$adapter。

有人能帮我解决这个问题吗?谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-09 05:33:06

更新:从ZF 2.0.5开始有一个bug。配置正确。

更新:看起来这个问题应该在2.1版本中得到解决

更新:我现在可以确认这个问题已经解决了,并且可以在2.0.7和2.1中工作

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13674199

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档