将对象放在雄辩的集合中

时间:2019-01-09 16:18:44

标签: laravel collections eloquent

我有个模特。

$items = Item::all();

我正在foreach loop中做一个HTML,而我希望先有某些对象。

我当前正在转换$items->toArray(),搜索商品名称并将其放在第一位。

Eloquent中有什么方法可以做到这一点?

2 个答案:

答案 0 :(得分:2)

这应该有效:

$sorted = $items->sortBy(function ($item) {
    return $item->name == "Name" ? 0 : 1;
});

这将把您要的项目放在第一位。我不确定这是否会影响订单的其余部分,但我不相信会发生。

答案 1 :(得分:1)

尝试这样做

$items = Item::all();

$items = $items->sortBy(function($item){
   return $item->name == 'name';
});

引用:https://laravel.com/docs/5.7/collections#method-sortby