Laravel 按 JSON 中的数据排序

假设我有一个模型,它输出 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和谁拥有最多对这些数据进行排序。


慕的地6264312
浏览 289回答 3
3回答

翻过高山走不出你

一个很好的干净的方法是使用“。” 操作员。$projects = Project::all()->load('tasks')->sortBy('data.qty');

ABOUTYOU

请参阅此示例代码<?php&nbsp; &nbsp; $json = '{&nbsp; &nbsp; "Message": "Done.",&nbsp; &nbsp; "Status": true,&nbsp; &nbsp; "InnerData": [&nbsp; {&nbsp; &nbsp; &nbsp;"id": 66,&nbsp; &nbsp; &nbsp;"name": "first",&nbsp; &nbsp; &nbsp;"distance": 74&nbsp; },&nbsp; {&nbsp; &nbsp; &nbsp;"id": 67,&nbsp; &nbsp; &nbsp;"name": "second",&nbsp; &nbsp; &nbsp;"distance": 153&nbsp; },&nbsp; {&nbsp; &nbsp; &nbsp;"id": 68,&nbsp; &nbsp; &nbsp;"name": "third",&nbsp; &nbsp; &nbsp;"distance": 172&nbsp; }]}';$array = json_decode($json, true);usort($array['InnerData'], function($a, $b) {&nbsp; &nbsp;return $a['distance'] <=> $b['distance'];});print_r($array);我希望它对你有帮助。
打开App,查看更多内容
随时随地看视频慕课网APP