我的mysql数据库表类型是:COMPACT 我现在想查询这里面的数据,以数组形式返回

2024-10-24 82 0

我的mysql数据库表类型是:COMPACT 我现在想查询这里面的数据,以数组形式返回 比如

title=>"百度",
title1=>"百度2"

要将查询结果以键值对数组的形式返回,可以将查询结果转换为数组,并将其整理为你想要的格式。下面是修改后的 details 方法实现:

public function details(Request $request)
{
    try {
        $model = new ConfigModel();

        // 获取所有设置
        $list = $model->select(['setting', 'value']);

        // 转换为键值对数组
        $result = [];
        foreach ($list as $item) {
            $result[$item['setting']] = $item['value'];
        }

        return show($result); // 返回键值对数组
    } catch (\Exception $e) {
        return show(null, 201, $e->getMessage());
    }
}

解释修改部分

  1. $model->select(['setting', 'value']): 选择 setting 和 value 字段,获取所有配置。
  2. 循环处理: 将查询结果遍历并构建 $result 数组,其中使用 $item['setting'] 作为键, $item['value'] 作为值。
  3. 返回结果: 使用 show($result) 返回以键值对形式展示的数据。

这样,你调用 details 方法时会得到类似于以下形式的 JSON 响应:

{
    "title": "百度",
    "title1": "百度2",
    ...
}

 

    相关文章

    使用PHP获取文件夹中所有文件
    thinkphp8中,数据库的字段是 api_node_id ,值是:多个用英文逗号区分,这种应如何来查询准确的数据取出唯一的主键ID?
    tp(thinkphp6)记录后台操作日志
    ThinkPHP6实现上传图片带水印方法
    ThinkPHP6实现简单的记录网站后台管理操作日志方法
    PHP远程代码执行漏洞(CVE-2024-4577)解决方案(不升级PHP版本)

    发布评论