Zend framework2 ZF2表格网关选择

Zend framework2 ZF2表格网关选择,zend-framework2,tablegateway,Zend Framework2,Tablegateway,我从Zendskletonapplication开始,添加了一个扩展Zend\Db\TableGateway\TableGateway的模型。 我有以下方法: public function findByType($type) { $rowset = $this->select('type' => $type); return $rowset; } 这是可行的,但现在如果我这样做: $foo = $table->findBytype('foo'); $bar

我从Zendskletonapplication开始,添加了一个扩展Zend\Db\TableGateway\TableGateway的模型。 我有以下方法:

public function findByType($type) {
    $rowset = $this->select('type' => $type);
    return $rowset;
}
这是可行的,但现在如果我这样做:

$foo = $table->findBytype('foo');
$bar = $table->findBytype('bar');
第一个可行,它执行的查询是:

SELECT * FROM table WHERE 'type' = 'foo'
但是,第二个执行以下查询:

SELECT * FROM table WHERE 'type' = 'foo' AND 'type' = 'bar'
SELECT * FROM table WHERE 'type' = 'bar'
这是预期的行为吗? 如果是这样,我怎样才能在第二次调用该方法时执行以下查询:

SELECT * FROM table WHERE 'type' = 'foo' AND 'type' = 'bar'
SELECT * FROM table WHERE 'type' = 'bar'

提前谢谢

应在tableGateway中使用如下选择:

$select = $this->getSql()->select();
$select->where(array('type' => 'foo'))
    ->where(array('type' => 'bar'));
$rowset = $this->selectWith($select);
select将在下次调用时重置where参数

在我的博客中查看更多用法:

应在tableGateway中使用如下选择:

$select = $this->getSql()->select();
$select->where(array('type' => 'foo'))
    ->where(array('type' => 'bar'));
$rowset = $this->selectWith($select);
select将在下次调用时重置where参数

在我的博客中查看更多用法:

结果表明,这只是zf2 beta3中的一个小错误,在最新的github版本中已修复。结果表明,这只是zf2 beta3中的一个小错误,在最新的github版本中已修复。您的博客有英文版吗?这些片段做得很好,但我所有的东西都是中文的,谷歌试图用德语翻译,这是一种有趣的体验-你的博客有英文版本吗?这些片段做得很好,但我所有的东西都是中文的,谷歌试图用德语翻译,这是一种有趣的体验-