laravel - 在 Laravel 响应中按升序对 JSON 对象数组进行排序
问题描述
我有一个 JSON 对象的集合,我试图根据 days_left 字段中的值按升序排列它们。我正在使用 sortBy 方法,但出现此错误
asort() 期望参数 2 为整数,给定字符串
我将它们存储在一个名为$life的变量中
我正在尝试安排的 JSON 对象数组
array:62 [▼
0 => {#375 ▼
+"customer_id": "2082499"
+"customer_name": "MARY ***************"
+"agent_no": "567"
+"agent_code": "2212"
+"policy_number": "*************"
+"plan": "Triplex Term 12"
+"status": "NOT TAKEN UP"
+"premium": "10326"
+"sum_assured": "955000"
+"effective_date": "2015-04-16 12:00:00"
+"issue_date": "2015-04-16 12:00:00"
+"premium_due_date": "2015-04-16 12:00:00"
+"outstanding_date": "2015-04-16 12:00:00"
+"maturity_date": "2027-04-15 12:00:00"
+"days_left": -1341
}
1 => {#381 ▼
+"customer_id": "804286"
+"customer_name": "PA************** "
+"agent_no": "567"
+"agent_code": "2212"
+"policy_number": "IL201400388092"
+"plan": "CAREER"
+"status": "AWA*************"
+"premium": "3467"
+"sum_assured": "400000"
+"effective_date": "2014-03-31 12:00:00"
+"issue_date": "2014-03-31 12:00:00"
+"premium_due_date": "2014-03-31 12:00:00"
+"outstanding_date": "2014-03-31 12:00:00"
+"maturity_date": "2026-03-30 12:00:00"
+"days_left": -1722
}
]
我用来按升序排列的代码
collect($life)->sortBy('days_left','ASC');
解决方案
在您的sortBy()中删除第二个参数:
collect($life)->sortBy('days_left');
// automatically sorting in ascending order.
如果您按降序排序,请使用:
collect($life)->sortByDesc('days_left');
我希望它会有所帮助。
推荐阅读
- python - 如何用python读取fortran输出的矩阵?
- c++ - 在运行时使用自定义分配器和类型未知分配 std::vector
- android - 在我关闭并重新打开应用程序后,Glide 会放大用户图像
- java - 找到递归调用的最后一个实例
- android - play-services-basement-15.0.1.aar 崩溃错误
- css - ng-bootstrap,点击,更改下拉图标
- android - 通知上的小图标无法正常工作
- android - 将 AndroidX (Jetpack) 库导入非 AndroidX 应用程序
- c - 跳过 for 循环的一次迭代
- ios - 解码 JSON 时出错“预期解码数组
而是找到了一本字典。”