usort не работает для многомерных массивов laravel - PullRequest
0 голосов
/ 03 сентября 2018

у меня есть массив

Illuminate\Support\Collection Object
(
    [items:protected] => Array
        (
            [0] => stdClass Object
                (
                    [id] => 79
                    [name] => shelin
                    [status] => 0
                )

            [1] => stdClass Object
                (
                    [id] => 80
                    [name] => shanu
                    [status] => 2
                )

            [2] => stdClass Object
                (
                    [id] => 81
                    [name] => linto
                    [status] => 2
                )

            [3] => stdClass Object
                (
                    [id] => 82
                    [name] => joseph
                    [status] => 0
                )

        )

)

Я хочу переставить этот массив по порядку статуса Я стараюсь

usort($usersdetailsA, function($a, $b) {
    return $a->status <=> $b->status;
});

Я получил сообщение об ошибке типа

usort () ожидает, что параметр 1 будет массивом, объект задан

Я пытался $ usersdetailsA = $ this -> $ usersdetailsA-> getValues ​​(); я получил ошибку вроде

Не определено свойство: TCG \ Voyager \ Http \ Контроллеры \ Users :: $ [{ "ID": 79, "имя": "Шелин", "Статус": 0}, { "ID": 80, "имя": "Shanu", "статус": "2"}, { "идентификатор": 81, "название": "linto", "статус": "2"}, { "ID": 82, "название": "Joseph", "статус «: 0}]

Ожидаемый результат

Illuminate\Support\Collection Object
    (
        [items:protected] => Array
            (
                [0] => stdClass Object
                    (
                        [id] => 80
                        [name] => shanu
                        [status] => 2
                    )
 [1] => stdClass Object
                    (
                        [id] => 81
                        [name] => linto
                        [status] => 2
                    )

                [2] => stdClass Object
                    (
                        [id] => 79
                        [name] => shelin
                        [status] => 0
                    )



                [3] => stdClass Object
                    (
                        [id] => 82
                        [name] => joseph
                        [status] => 0
                    )
Any help would be appreciated.Thanks in advance

1 Ответ

0 голосов
/ 03 сентября 2018

Вы можете отсортировать коллекцию с помощью сортировки методов по заданному ключу:

$sorted = $collection->sortByDesc('status');
...