如何使用 laravel 或 mysql 创建嵌套的 json?

Posted

技术标签:

【中文标题】如何使用 laravel 或 mysql 创建嵌套的 json?【英文标题】:How to create nested json with laravel or mysql? 【发布时间】:2015-06-05 22:28:55 【问题描述】:

我需要这样的东西:

  "results":[  
    
     "id":1,
     "date":  
        "date":"2015-04-1 00:00:00.000000",
        "timezone_type":3,
        "timezone":"America\/Denver"
     
  ,

查询:

$find = DB::select( DB::raw("SELECT created_at as date, 'America/Denver' as timezone, 3 as timezone_type FROM table"));
return Response::json($find);

如何使用 mysql/Laravel 在日期内创建日期?我尝试使用array_merge,但日期将附加在底部而不是使其自身嵌套。

【问题讨论】:

向我们展示您在 mysql 中的表的外观以及您用于从数据库中获取数组的代码? 我添加了一个答案:) 【参考方案1】:

只需将您的代码更改为以下代码:

        $tableIds = DB::select( DB::raw("SELECT id FROM table"));
        $jsonResult = array();

        for($i = 0;$i < count($tableIds);$i++)
        
            $jsonResult[$i]["id"] = $tableIds[$i]->id;
            $id = $tableIds[$i]->id;
            $jsonResult[$i]["date"] = DB::select( DB::raw("SELECT created_at as date, 'America/Denver' as timezone, 3 as timezone_type  FROM table WHERE id = $id"));
        

        return Response::json(array(
                    'error'     =>  false,
                    'stores'    =>  $jsonResult),
                    200
            );

【讨论】:

太棒了!谢谢! :D 很高兴我帮助了你 :) :) 您可以使用递归函数来遍历每个级别,您有什么想法? 伟大的编码但面临问题,我在 laravel 中创建嵌套的 json 响应。我将三个表作为 category_type=category_type_id,category_name; main_category=main_category_id,category_type_id,main_category_name sub_category=sub_category_id,category_type_id,main_category_id,sub_category_name 我正在使用编码并获取 json 但我想在第二个中嵌套第三个表 plZ 编码更改我已经在第一个中嵌套了第二个现在我想要第二个嵌套的第三个表

以上是关于如何使用 laravel 或 mysql 创建嵌套的 json?的主要内容,如果未能解决你的问题,请参考以下文章

laravel 嵌套事务

Laravel:一次保存多个模型/ json嵌套输入

如何在 Laravel 中获取嵌套的键值

如何使用从 laravel 中的数组中获取的各种术语进行 mysql 关联查询

如何在 laravel 6 中存储和检索嵌套的 JSON 数组

Laravel - 如何使嵌套用户独一无二