2016-11-12 13 views
2

私はfilterメソッドをCollectionクラスから使用して、コレクションからいくつかのオブジェクトを削除します。しかし、その操作の後、キーを持つオブジェクト(例: 1、4、5左。 filterアクションの後に、常に0,1,2,3などの順序で要素を持たせたいと思います。Laravelコレクションキーの変更

テーブルを新しいものに書き換えることなくそれを行うにはエレガントな方法はありますか?

ありがとうございます!

+2

おそらく、コレクションの '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ありがとう、最近このアレイの問題をリセットしましたさまざまな接続のコレクション配列を返すとき。 –

関連する問題