2016-11-12 119 views
2

我使用filter方法從Collection類從集合中刪除一些對象。但是在那個操作之後,有時候會用鍵來對象,還剩1,4,5。我想在filter行動後始終有訂單0,1,2,3等元素。Laravel系列密鑰修改

是否有任何優雅的方式來做到這一點,而不需要重新寫入表格?

謝謝!

+2

也許使用Collection的'values()'方法來重置鍵? –

+0

謝謝!它的工作.BTW,真的很奇怪的名字爲一種方法,做這樣的事情... – pavon147

+0

基本上它是本地PHP'array_values()'方法,這可能解釋名稱 –

回答

4

您可以使用Laravel收集的values()方法,使集合的按鍵以序列順序是這樣的:

// Just for demonstration 
$collection = collect([ 
    10 => ['fruit' => 'Apple', 'price' => 200], 
    11 => ['fruit' => 'Mango', 'price' => 500] 
]); 

$values = $collection->values(); 

$values->all(); 

/* Result would be: 
    [ 
     0 => ['fruit' => 'Apple', 'price' => 200], 
     1 => ['fruit' => 'Mango', 'price' => 500], 
    ] 
*/ 

希望這有助於!

+0

+1謝謝你,最近出現這個重置陣列問題當返回各種連接的集合數組時。 –