Поместить объект первым в коллекцию Eloquent - PullRequest
0 голосов
/ 09 января 2019

У меня есть модель.

$items = Item::all();

Я делаю foreach loop в HTML, и я предпочел бы сначала получить определенный объект.

В настоящее время я конвертирую $items->toArray(), ищу название элемента и ставлю его первым.

Есть ли способ сделать это в Eloquent?

Ответы [ 2 ]

0 голосов
/ 09 января 2019

попробуйте сделать это

$items = Item::all();

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

ссылка: https://laravel.com/docs/5.7/collections#method-sortby

0 голосов
/ 09 января 2019

Это должно работать:

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

Это ставит предмет, который вы хотите первым, первым. Я не знаю наверняка, повлияет ли это на остальную часть порядка, но я не верю, что это повлияет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...