ZF2 AbstractTableGateway 上具有多个结果集的条件

Where condition with multiple result set on ZF2 AbstractTableGateway

在 Zf2 应用程序中编写模型文件以从 table 检索数据集, 它按预期返回一个结果集,但返回多行无法通过以下代码实现。

Working and Returning single row

/**
     * @param $id
     * @return bool|Entity\Feeds
     */
    public function getAppFeed($id)
    {
        $row = $this->select(array('app_id' => (int)$id))->current();
        if (!$row)
            return false;
        $feedVal = new Entity\Feeds(array(
            'id' => $row->id,
            'title' => $row->title,
            'link' => $row->link,
            'Description' => $row->description,
            'created' => $row->created,
        ));
        return $feedVal;

    }

删除当前并尝试 table 网关对象,但抛出错误。

Feeds table 每个应用程序都会有多个记录,我需要一个函数来实现相同的功能。

Select总是returns一个ResultSet。您可以通过迭代访问 ResultSet 的 objects(1),因为它实现了 Iterator 接口。

只是一段代码示例:

public function getAppFeed($id)
{
    $resultSet = $this->select(array('app_id' => (int)$id));

    if ($resultSet instanceof \Zend\Db\ResultSet) {
        foreach($resultSet as $item) {
            // do your feed stuff here
            // e.g. $item->id
        }
    } else {
        return false;
    }
}

(1) 对象:表示您在 TableGateway.

中指定为 Prototype 的任何对象

有关详细信息,请查看 ResultSet 的文档。