检测值是否重复并使用 Laravel 和集合应用排序标准
Detect if values are repeated and apply order criteria using Laravel and collections
如何检测某个值是否在集合中重复?如果它重复出现,请为以下值应用顺序标准?
我有以下集合,如果 "total" 值重复,我必须按值 "next" 排序,如果值 "next" 也重复,我必须按值 "subsequent"
按照顺序的标准,就是这样:
现在在我的代码中我只有一个普通的集合:
$sales = Sale::select('total', 'next', 'subsequent', 'person_id')->with('person')->get();
谢谢
您可以试试这个(在后台使用 Collection::sort() which uses 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);
});
如何检测某个值是否在集合中重复?如果它重复出现,请为以下值应用顺序标准?
我有以下集合,如果 "total" 值重复,我必须按值 "next" 排序,如果值 "next" 也重复,我必须按值 "subsequent"
按照顺序的标准,就是这样:
现在在我的代码中我只有一个普通的集合:
$sales = Sale::select('total', 'next', 'subsequent', 'person_id')->with('person')->get();
谢谢
您可以试试这个(在后台使用 Collection::sort() which uses 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);
});