首页 > 解决方案 > Zend DB 调用未定义的方法 where()

问题描述

以下查询返回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”来运行ORMySql 查询。

标签: zend-frameworkzend-db

解决方案


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

以下是自定义选择选项的方法:

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

希望这最终对某人有所帮助。


推荐阅读