为了账号安全,请及时绑定邮箱和手机立即绑定

Laravel 按 JSON 中的数据排序

Laravel 按 JSON 中的数据排序

PHP
慕的地6264312 2021-08-28 11:00:08
假设我有一个模型,它输出 3 个模型,即这些数据:[    {        "id": 1,        "data": [            {                "id": "coins",                "qty": 3            },            {                "id": "ruby",                "qty": 52            }        ]    },    {        "id": 2,        "data": [            {                "id": "coins",                "qty": 140            }        ]    },    {        "id": 3,        "data": [            {                "id": "coins",                "qty": 84            }        ]    }]我将如何使用集合,按coins'sqty和谁拥有最多对这些数据进行排序。
查看完整描述

3 回答

?
翻过高山走不出你

TA贡献1875条经验 获得超3个赞

一个很好的干净的方法是使用“。” 操作员。

$projects = Project::all()->load('tasks')->sortBy('data.qty');


查看完整回答
反对 回复 2021-08-28
?
ABOUTYOU

TA贡献1812条经验 获得超5个赞

请参阅此示例代码


<?php


    $json = '{

    "Message": "Done.",

    "Status": true,

    "InnerData": [

  {

     "id": 66,

     "name": "first",

     "distance": 74

  },

  {

     "id": 67,

     "name": "second",

     "distance": 153

  },

  {

     "id": 68,

     "name": "third",

     "distance": 172

  }

]

}';

$array = json_decode($json, true);

usort($array['InnerData'], function($a, $b) {

   return $a['distance'] <=> $b['distance'];

});


print_r($array);

我希望它对你有帮助。


查看完整回答
反对 回复 2021-08-28
  • 3 回答
  • 0 关注
  • 288 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信