Zend DB调用未定义的方法where()

时间:2018-05-28 00:19:31

标签: zend-framework zend-db

以下查询返回Call to undefined method Zend\Db\ResultSet\ResultSet::where()错误。

$rowset = $this->table->select()->where("email='$str'");

然而这有效:

$rowset = $this->table->select(["email" => $str]);

以下是依赖项:

use Zend\Db\Adapter\Adapter;
use Zend\Db\Sql\Where;
use Zend\Db\Sql\Select;
use Zend\Db\TableGateway\TableGateway;
use Zend\Db\TableGateway\Feature\RowGatewayFeature;
use Zend\Db\TableGateway\Feature\MetadataFeature;
use Zend\Db\TableGateway\Feature\FeatureSet;

任何人都知道为什么?我基本上只是试图使用'where'来运行OR MySql查询。

1 个答案:

答案 0 :(得分:1)

从显而易见的错误消息中找出它,表明方法select将返回结果集。我想我正在寻找不同的Zend DB版本的来源。这个答案适用于2.9版本。

以下是如何自定义选项:

$select = new Select;
$select->from("table_name");
$select->where("email='$str' OR uid='$str'");
$rowset = $this->table->selectWith($select);

希望这最终有助于某人。