代码之家  ›  专栏  ›  技术社区  ›  Daniel Cheung

Laravel-排序后从集合中响应的JSON将项索引作为对象键

  •  2
  • Daniel Cheung  · 技术社区  · 6 年前

    我不知道是什么导致了这个问题,但下面是原始的PHP代码,它是用想要的JSON格式生成的:

    PHP

    return response()->json($model->things, 200);
    

    杰森

    [
        {...},
        {...},
        ...
    ]
    

    但是,当我对集合进行排序时,JSON中的数组变成了一个对象。

    PHP

    return response()->json($model->things->sortBy("name"), 200);
    

    杰森

    {
        "0": {...},
        "1": {...},
        ...
    }
    

    我做错什么了吗?我试过了 dd 在这两种情况下收集,但结果在我看来是一样的。

    1 回复  |  直到 6 年前
        1
  •  5
  •   RainDev    6 年前

    [2=>'val1', 1 => 'val2', 0 => 'val3']
    

    $model->things->sortBy("name")->values()->all()
    

    json_encode not preserving order