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);
现在可以使用,但我不能依靠它。我知道我可以过滤或映射以将其删除,所以主要只是想知道是否有人看到了比此更富创意的解决方案。