Zend教程:很难找到第1行

时间:2017-01-26 15:17:08

标签: zend-framework zend-framework2

我正在尝试按照教程https://framework.zend.com/manual/2.4/en/user-guide/database-and-models.html

我有问题,我不能使用getAlbum(1)函数。 可以fetchAll() - >返回所有行

如果我想使用getAlbum($personalnummer) - >找不到第1行

是的,数据库中有一个Personalnummer 1的条目,它是int类型。唯一的区别是,我使用的是Microsoft SQL Server,但配置正确,因为可以返回所有行。

有什么想法吗?

public function fetchAll()
{
    $resultSet = $this->tableGateway->select();

    return $resultSet;
}

public function getAlbum($personalnummer)
{
    $personalnummer  = (int) $personalnummer;
    $rowset = $this->tableGateway->select(array('Personalnummer' => $personalnummer));

    $row = $rowset->current();

    if (!$row) {
        throw new \Exception("Could not find row $personalnummer");
    }
    return $row;
}

1 个答案:

答案 0 :(得分:0)

尝试此操作,如果它有助于替换

$rowset = $this->tableGateway->select(array('Personalnummer' => $personalnummer));

用这个

$where = new \Zend\Db\Sql\Where();    
$where->equalTo('Personalnummer', $personalnummer);

$rowset = $this->tableGateway->select($where)