Оба помощника Laravel except() и forget() делают то, что они делают, по ключу. Мне интересно, есть ли отличный способ laravel использовать любой из них, чтобы исключить элемент, когда ключ непредсказуем. У меня есть коллекция, которая выглядит так:
Collection {#469
#items: array:3 [
0 => array:2 [
"name" => "Bug"
"class" => "App\Models\BugTypes\Bug"
]
1 => array:2 [
"name" => "PreBug"
"class" => "App\Models\BugTypes\PreBug"
]
2 => array:2 [
"name" => "Request"
"class" => "App\Models\BugTypes\Request"
]
]
}
и я хочу всегда исключать PreBug. Проблема в том, что коллекция создается динамически из пространств имен, и если вы добавите или удалите пространство имен, ключ для PreBug может измениться. А именно, если бы вы создали шрифт, который в алфавитном порядке предшествует букве P. Итак, хотя $data->except(1); работает сейчас, я не могу полагаться на него. Я знаю, что могу отфильтровать или отобразить, чтобы удалить его, поэтому в основном просто интересно, видит ли кто-нибудь более творческое решение, чем это.
Это мой запасной вариант. Мне просто было любопытно, знает ли кто-нибудь лучший способ сделать это.






Почему бы вам просто не использовать фильтр или карту?