Reputation: 520
The below query returns a Call to undefined method Zend\Db\ResultSet\ResultSet::where()
error.
$rowset = $this->table->select()->where("email='$str'");
This however works:
$rowset = $this->table->select(["email" => $str]);
Here are the dependencies:
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;
Anyone knows why? I'm basically just trying to use 'where' to run an OR
MySql query.
Upvotes: 0
Views: 1336
Reputation: 520
Figured it out from the obvious error message indicated that the method select would return a result set. I think I was looking at sources for a different Zend DB version. This answer is for version 2.9.
Here's how to customize the select options:
$select = new Select;
$select->from("table_name");
$select->where("email='$str' OR uid='$str'");
$rowset = $this->table->selectWith($select);
Hope this eventually helps someone.
Upvotes: 1