Laravel Collectionを使ってデータの重複を排除する
こんにちは。今回はLaravelでデータの重複を排除する方法を解説します。今回はなるべく手間をかけずに実装したいのでLaravelのCollectionオブジェクトを使用して実装していきます。
Collectionとは
Collectionとは配列操作に特化したLaravelのオブジェクトです。配列のデータ型に対して様々な操作を簡単に行うことができます。生成はcollect関数に配列を渡すだけなので簡単に生成できます。以下のコードはCollectionを生成し、要素数をカウントしています。
// Collectionオブジェクト生成
$collection = collect(['apple','orange','grape']);
// 要素数を数える
$collection->count();
// 3が返される
重複を取り除く
排列から重複を排除してデータを一意にしたい場合はuniqueメソッドを使用します。uniqueメソッドは要素内の重複を取り除き、新たなCollectionを生成します。
$collection = collect([1,2,3,2]);
$uniqueCollection = $collection->unique();
// uniqueCollectionの中身は[1,2,3]
連想排列にも使用できます。
$collection = collect(['a'=>'100','b'=>'200','c'=>'300','b'=>'200']);
$uniqueCollection = $collection->unique();
// 重複しているbが排除される
[
"a" => "100",
"b" => "200",
"c" => "300",
]
まとめ
今回はLaravelのCollectionで配列の重複を排除する方法を解説しました。単純な値の配列、連想排列に対して有効であることがわかりました。
ディスカッション
コメント一覧
まだ、コメントがありません