首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ZF3:如何在ZF3中执行DB fetchRow()或fetchAll()或fetchCol()或fetchOne()?

ZF3:如何在ZF3中执行DB fetchRow()或fetchAll()或fetchCol()或fetchOne()?
EN

Stack Overflow用户
提问于 2017-08-03 11:14:20
回答 2查看 1.7K关注 0票数 1

我使用过ZF1 DB适配器,现在正在学习ZF3,但我似乎找不到相当于:

代码语言:javascript
复制
$rows = $db->fetchAll('select * from `my_table`');
$row = $db->fetchRow('select * from `my_table` where `id` = 1');
$values = $db->fetchCol('select `my_col` from `my_table`');
$value = $db->fetchOne('select `my_col` from `my_table` where `id` = 1');

我在ZF3中找到的使用prepare语句的示例。那么,在ZF3中,如何做到以上每一行1行呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-08-03 16:00:30

一个词:走了。现在,您必须处理ResultSet\ResultSetInterface接口。但它是一个迭代器。你当然不会有任何困难得到结果。

票数 2
EN

Stack Overflow用户

发布于 2017-08-04 08:32:11

是的,它不见了。

您可以按照与ZF1相同的方式构建select。我的代码中的示例:

代码语言:javascript
复制
// From Mapper that extends AbstractTableGateway 
// and implements AdapterAwareInterface

$select = $this->getSql()->select()
        ->join('articles', 'article_events.article_uuid = articles.article_uuid')
        ->where(['articles.article_id' => $id]);

$result = $this->selectWith($select);  

// $result; is fetchAll()
// $result->current();  is fetchRow() or fetchOne() 
// $result->current()->col_name  is fetchCol();
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45482596

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档