鉴于我有一个简单的集合
$collection = collect([
['product' => 'Desk', 'price' => 200, 'cost'=>250],
['product' => 'Chair', 'price' => 100, 'cost'=>200],
]);
我只需要price - income
来计算vuejs的收入,在这种情况下我会得到:
- -50
- -100
醇>
现在我想通过降序结果来命令,如:
- -100
- -50
醇>
想知道是否有办法在集合中订购?
答案 0 :(得分:3)
您可以在Laravel中执行此操作,并将数据传递给视图(如果它是一个选项)。使用sortBy()
和sortByDesc()
方法:
$asc = $collection->sortBy(function ($i) {
return $i['price'] - $i['cost'];
});
$desc = $collection->sortByDesc(function ($i) {
return $i['price'] - $i['cost'];
});
或者,您可以使用transform()
方法向集合中添加新列,这样您就可以使用任何JS脚本对其进行排序:
$collection->transform(function ($i) {
$i['difference'] = $i['price'] - $i['cost'];
return $i;
});