Определите, повторяются ли значения, и примените критерии заказа, используя Laravel и коллекции. - PullRequest
0 голосов
/ 24 августа 2018

Как я могу определить, повторяется ли значение в коллекции? А если это повторится, применить критерий порядка для следующего значения?

У меня есть следующая коллекция, где, если значение «total» повторяется, я должен отсортировать по значению «next», а если значение «next» также повторяется, я должен отсортировать по значению «последующий»

enter image description here

Следуя критериям заказа, оно будет выглядеть следующим образом:

enter image description here

Пока в моем коде у меня есть только нормальная коллекция:

$sales = Sale::select('total', 'next', 'subsequent', 'person_id')->with('person')->get();

Спасибо

1 Ответ

0 голосов
/ 24 августа 2018

Вы можете попробовать это (используя Collection :: sort () , который использует PHP's usort под капотом):

$sales = 'Get result...';

$sorted = $sales->sort(function ($a, $b) {
    return strcmp($a->total, $b->total)
        ?: strcmp($a->next, $b->next)
        ?: strcmp($a->subsequent, $b->subsequent);
});
...