[ { "ID": "0",... },{ "ID": "",]
但相反,Laravel使用表键将其显示为键值列表:
"0":{ { "ID": "0",... } },"1":{ { "ID": "1",... } }
这是功能:
$results = \App\Event::with('sandBoxes')->get()->sortBy('start_time')->forPage($pageNum,$perPage); return response()->Json(array( "events" => $page,));
我怎样才能让Laravel给我一个合适的阵列?
解决方法 当您第一次收到活动时,您的收藏品看起来像这样:[ 0 => Event1,1 => Event2,2 => Event3]
这是一个正确索引的数值数组,可以用JsON表示为数组.但是,一旦获得了Collection,就可以在其上调用sortBy(),对Collection中的项进行排序.此排序重新排列数组内的项和键的值.此时,您的收藏可能看起来像:
[ 1 => Event2,0 => Event1,2 => Event3]
这不是正确索引的数字数组,不能在JsON中表示为数组.此数组必须表示为对象,这是您所看到的.
为了获得您期望的结果,您需要在对其进行排序后重新键入集合中的项目.您可以使用Collection上的values()方法执行此 *** 作(它只调用内部项数组上的array_values()).
一旦你重新修改了你的Collection,它将看起来像:
[ 0 => Event2,1 => Event1,2 => Event3]
现在这是一个正确索引的数字数组,可以用JsON表示为数组.
所以,你的代码应该类似于:
$results = \App\Event::with('sandBoxes') ->get() ->sortBy('start_time') ->values() // re-key the items in the collection after sorting ->forPage($pageNum,$perPage);总结
以上是内存溢出为你收集整理的php – Laravel Eloquent toArray不使用方括号全部内容,希望文章能够帮你解决php – Laravel Eloquent toArray不使用方括号所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)