小编Anf*_*ipe的帖子

带有 keyBy 的 Laravel 响应返回对象和数组

我正在开发一个项目,使用 Laravel 设置后端 RESTful API,使用 angularJS 设置前端。我从我的 controller@index 返回的很简单,all()->toArray()就像这样:

一种。

return Response::json([
    'val' => myModel::all()->toArray()
]);
Run Code Online (Sandbox Code Playgroud)

然后使用 angular 的那个对象,我可以做类似的事情$scope.myArray=response.val,最终像$scope.myArrayBoundToATable.push(newelement). 生成的 JSON 会更好,如果它是由它的键,id所以我把它改成:

B.

return Response::json([
    'res' => myModel::all()->keyBy('id')->toArray()
]);
Run Code Online (Sandbox Code Playgroud)

但是现在所有的函数都像.splice.push抛出错误。通过登录到控制台,我可以看到:使用all()->toArray()[Object]一切正常。与keyBy('id')->toArray()Object {1: Object}

我必须将 CRUD 操作重写$scope.myVar为 JS 对象,而不是数组。

我可以使用方法A和迭代每一个元素来搜索ID,但方法B.允许我访问的元素在一个更优雅的方式:$scope.myVar(ID)

php rest json laravel angularjs

6
推荐指数
1
解决办法
1358
查看次数

标签 统计

angularjs ×1

json ×1

laravel ×1

php ×1

rest ×1