我想用这个方法添加一个where子句。
public function fetchAll()
{
$resultSet = $this->select();
return $resultSet;
}
我添加了这样的内容。
public function fetchAll()
{
$resultSet = $this->select();
$resultSet->where("status = ?", 1);
return $resultSet;
}
但是,它显示了以下错误。
致命错误:调用未定义的方法Zend \ Db \ ResultSet \ ResultSet :: where()
请你帮我用上面提到的方法添加WHERE,OR WHERE,GROUP和ORDER。
答案 0 :(得分:1)
希望这会帮助你:
public function Profile($accountid)
{
$result = $this->select(function (Select $select) use ($accountid) {
$select
->columns(array(
'datefrom',
'available',
'used',
'details'
))
->where($this->adapter->getPlatform()->quoteIdentifier('accountid') . ' = ' . $this->adapter->getPlatform()->quoteValue($accountid));
});
$row = $result->current();
if (!$row) {
throw new \Exception('could_not_find_row');
}
return $row;
}
答案 1 :(得分:1)
你也可以$sql->select()->where(array('status' => 1))
或$table->select(array('status' => 1))
(烦人,希望他们使用相同的语法)。
你传递一个带有映射column => value
的关联数组(因为它是一个数组,你可以给它多个子句)。 Diemuzi的方式适用于复杂的标识符,但这是一种更易读的简单比较方法。