Определите, повторяются ли значения, и примените критерии заказа, используя Laravel и коллекции.

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

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

введите описание изображения здесь

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

введите описание изображения здесь

На данный момент в моем коде у меня только нормальная коллекция:

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

Спасибо

1

Решение

Вы можете попробовать это (используя Коллекция :: сортировки () который использует 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);
});
1

Другие решения

Других решений пока нет …