2017-10-11 82 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

對不起,但我不這麼認爲。如果我們已經變平了,如果我們不存儲原來的東西,就沒有辦法扭轉它。 –