首页 > 解决方案 > 使用 groupBy() 函数访问从 laravel 返回的 JSON 索引键

问题描述

如何访问 json 响应中的第一个对象?

在控制器中:

Model::with('some_relation')->get()->groupBy('id');
return response()->json(['transactions' => $transactions]);

鉴于我使用 ajax 得到 json 响应:例如数据:

  {
    72: [{...},{...},{...}],
    75: [{...},{...}],
    80: [{...},{...},{...},{...}]
    }

现在,如果我想访问72jquery 中的第一个对象 ( ),我无法使用它data[0]来获取第一个数组。我必须像data[72]. 数据将是可变的,所以我不知道 id 是什么。

如何访问第一个对象?

标签: jqueryarraysjsonlaravellaravel-5.6

解决方案


如果您只想将它​​们分组,而不是通过 id 关联,则使用 values() 重新索引集合。Javascript 中不存在关联数组。

这会将其组织成 JSON 数组而不是 JSON 对象。

Model::with('some_relation')->get()->groupBy('id')->values();

推荐阅读