2017-10-11 73 views
2

是否可以使用一些类似于forget()的整齐的Laravel收集方法,它将与嵌套数组一起工作。Laravel收藏。忘记嵌套键()

这是我想要的一个例子。

我有这样一个Collection实例:

enter image description here

而且我想以类似的方式下降coordinates列(所有项目都相同)

$cities->forget('cities', 2) // (second parameter is not real, it's a "nested level" and I took it from my head as example of what I want) 

作为一个答案,我” d喜欢接收一些现有的Collection方法或者一个Collection宏,这将在一行中工作。

所有其他“多行选项”与unset()map()不会更好,比我现在:)

+0

可以在laravel延长集合,如果你想让它这种方式来删除它coordinates。其他方式未设置最快 –

+0

@BartłomiejSobieszek谢谢你的答案。是的,我知道Collections宏,但我认为可能有更明显的解决方案。我喜欢整齐小巧的管道。 –

回答

1

我不知道它是否会工作,但我建议尝试使用flatten()到将您的多维集合到单一的集合,然后尝试使用forget()

$cities->flatten()->forget('coordinates') 
+1

谢谢你的答案,我想过,但我怎么能扭转它回来?:) –

+0

检查此https://stackoverflow.com/questions/9419928/reverse-flatted-array-to-multidimensional我想它会帮助你:) –

+0

对不起,但我不这么认为。如果我们已经变平了,如果我们不存储原来的东西,就没有办法扭转它。 –