【Laravel】コレクションの重複データを削除する

スポンサーリンク

Laravelでコレクションの重複データを削除

laravelのコレクションで重複データを削除し、一意な値だけのコレクションにしたい場合、unique()メソッドを使います。

単純なコレクションの重複を削除するコードは下記です。

$collection = collect([1, 1, 2, 2, 3, 4, 2]);

$unique = $collection->unique(); // [1, 2, 3, 4]

また、ネストされたコレクションの重複を削除するには、下記のように引数に、一意にしたいキー名を指定します。この場合、’brand’が重複するデータは削除されます。

$collection = collect([
    ['name' => 'iPhone 6', 'brand' => 'Apple'],
    ['name' => 'iPhone 5', 'brand' => 'Apple'],
    ['name' => 'Apple Watch', 'brand' => 'Apple'],
    ['name' => 'Galaxy S6', 'brand' => 'Samsung'],
    ['name' => 'Galaxy Gear', 'brand' => 'Samsung'],
]);

$unique = $collection->unique('brand');
/*
    [
        ['name' => 'iPhone 6', 'brand' => 'Apple'],
        ['name' => 'Galaxy S6', 'brand' => 'Samsung'],
    ]
*/

詳しくは下記公式ページを参照して下さい。

5.5 コレクション Laravel

未経験、異業種からIT業界に転身。フロントエンジニア。主にJavascript(React.js)をつかったWEBアプリ開発にたずさわる。
お問い合わせ、ご相談など → genpsp10@gmail.com

psp7をフォロー
プログラミング
スポンサーリンク
psp7をフォロー
ハトらぼ

コメント