美文网首页
hyperf3.0 数据库查询将结果转为数组格式 通过监听器来监

hyperf3.0 数据库查询将结果转为数组格式 通过监听器来监

作者: geeooooz | 来源:发表于2023-06-24 16:20 被阅读0次

要将数据库查询的结果转换为数组格式,可以通过监听器来监听 Hyperf\Database\Events\StatementPrepared 事件,并在事件处理程序中进行转换。

首先,创建一个监听器类,实现 Hyperf\Event\Contract\ListenerInterface 接口,并在 process 方法中进行转换操作。例如,创建一个名为 QueryResultToArrayListener 的监听器类:

<?php

namespace App\Listener;

use Hyperf\Database\Events\StatementPrepared;
use Hyperf\Event\Annotation\Listener;
use Hyperf\Event\Contract\ListenerInterface;

/**
 * @Listener
 */
class QueryResultToArrayListener implements ListenerInterface
{
    public function listen(): array
    {
        return [
            StatementPrepared::class,
        ];
    }

    public function process(object $event): void
    {
        if ($event instanceof StatementPrepared) {
            $event->statement->setFetchMode(\PDO::FETCH_ASSOC);
        }
    }
}

然后,在 config/autoload/listeners.php 配置文件中注册该监听器:

<?php

use App\Listener\QueryResultToArrayListener;

return [
    \App\Listener\QueryResultToArrayListener::class,
];

这样,当每次执行数据库查询时,StatementPrepared 事件都会被触发,从而将查询结果转换为数组格式。

相关文章

  • PostGIS常用函数介绍

    1.将multipolygon重构为polygon,并转为geojson格式 查询结果如下图所示: 但是,如果给S...

  • 数组对象和一般数组之间的转换

    将一般数组转为对象数组 将数组对象转为一般数组

  • 一些使用技巧

    直接把数据库查询的查询结果中的某个字段转为集合 计算前N天的日期

  • elasticsearch查询性能优化

    评分查询转为不评分查询例子1:通过将 range 查询移到 filter 语句中,我们将它转成不评分的查询,将不再...

  • Swift - RxSwift的使用详解50(结合Moya使用2

    三、将结果转为 JSON 对象 1,实现方法 (1)如果服务器返回的数据是 json 格式的话,直接通过 Moya...

  • 常用的工具函数

    格式化时间 将url请求参数转为json格式 父子关系的数组转换成树形结构数据 树形结构数据转换成父子关系的数组 ...

  • 数组转为CSV格式

    CSV格式:用,分隔的字符串,比如alpha, beta, gamma 下面是一个将2维数组转为csv格式的例子:...

  • Mybatis查询Blob类型数据转为String

    场景:Java将图标以Base64格式存储到数据库,字段使用Blob类型,然后通过Mybatis查询出来,直接在页...

  • js反转字符串

    先将字符串转为数组,再利用reverse方法反转数组。最后通过join方法将数组重新转回字符串

  • PHP函数

    1.list函数 list()可以将索引数组转为变量\不支持关联数组 结果为: 2.each函数 结果为: 3.通...

网友评论

      本文标题:hyperf3.0 数据库查询将结果转为数组格式 通过监听器来监

      本文链接:https://www.haomeiwen.com/subject/qpybydtx.html