我认为它可以找到,但它没有。
我的模型类中有一个方法,如下所示:
public function getUnitbyName2($unitname, $ProjectID)
{
//$id = (int) $id;
$rowset = $this->tableGateway->select(['Unitname' => $unitname], ['ProjectID' => $ProjectID]);
$row = $rowset->current();
if (! $row) {
// throw new RuntimeException(sprintf(
// 'Could not find row with identifier %d',
// $unitname
// ));
$row=0;
}
return $row;
}
如果我给出一个现有的unitname和一个不存在的project_ID,我希望得到一些0值。但我总是得到第一个项目中具有给定单位名称的单位数。单位名通常存在于几个不同的项目中。 如果使用两个参数存在,该函数应该获得正确的记录。
我的问题是,使用AND连接的2个参数有什么问题?
答案 0 :(得分:0)
AbstractTableGateway::select() 接受一个参数,你传递2: 你需要传递1,结合2个数组。 将您的代码更改为:
$rowset = $this->tableGateway->select(['Unitname' => $unitname, 'ProjectID' => $ProjectID]);