Как я могу определить, повторяется ли значение в коллекции? А если это повторится, применить критерий порядка для следующего значения?
У меня есть следующая коллекция, где, если значение «total» повторяется, я должен отсортировать по значению «next», а если значение «next» также повторяется, я должен отсортировать по значению «последующий»
Следуя критериям порядка, это будет выглядеть следующим образом:
На данный момент в моем коде у меня только нормальная коллекция:
$sales = Sale::select('total', 'next', 'subsequent', 'person_id')->with('person')->get();
Спасибо
Вы можете попробовать это (используя Коллекция :: сортировки () который использует 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);
});
Других решений пока нет …