代码之家  ›  专栏  ›  技术社区  ›  Govinda raj

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

  •  1
  • Govinda raj  · 技术社区  · 6 年前

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

    工作和返回单行

    /**
         * @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;
    
        }
    

    已删除当前并尝试了tablegateway对象,但引发了错误。

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

    1 回复  |  直到 6 年前
        1
  •  1
  •   BenRoob kali doss    6 年前

    这个 Select 始终返回 ResultSet 。您可以通过迭代访问ResultSet的对象(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) 对象:指你所称的任何对象 Prototype 在您的 TableGateway

    有关更多详细信息,请查看 ResultSet