個別のフィールド値の取得
項目一覧
オブジェクト コレクションまたはクエリ ビルダでdistinct()
メソッドを呼び出すと、コレクション内のドキュメントの個別のフィールド値を取得できます。
個別のフィールド値を検索するには、クエリフィルターをwhere()
メソッドに渡し、フィールド名をselect()
メソッドに渡します。 次に、 distinct()
を呼び出して、クエリフィルターに一致するドキュメント内の選択したフィールドの一意の値を返します。
Tip
クエリフィルターの詳細については、読み取り操作ガイドの「クエリに一致するドキュメントの取得 」セクションを参照してください。
例
対応するそれぞれの クエリ構文を使用する同じ操作の使用例を表示するには、次の Eloquent タブと Query Builder タブから選択します。
この例では、次のアクションを実行します。
Movie
Eloent モデルを使用して、sample_mflix
データベース内のmovies
コレクションを表しますクエリフィルターに一致するドキュメントの個別のフィールド値を
movies
コレクションから取得します個別の値を出力
この例では、 Movie
モデルで次のメソッドを呼び出します。
where()
:directors
フィールドの値に"Sofia Coppola"
が含まれるドキュメントと一致しますselect()
: 一致するドキュメントのimdb.rating
フィールド値を取得しますdistinct()
: 選択したフィールドの一意の値を検索し、値のリストを返しますget()
: クエリ結果を取得します
$ratings = Movie::where('directors', 'Sofia Coppola') ->select('imdb.rating') ->distinct() ->get(); echo $ratings;
[[5.6],[6.4],[7.2],[7.8]]
この例では、次のアクションを実行します。
DB
ファサードからtable()
メソッドを呼び出してmovies
コレクションにアクセスしますクエリフィルターに一致するドキュメントの個別のフィールド値を
movies
コレクションから取得します個別の値を出力
この例では、次のクエリ ビルダのメソッドを呼び出します。
where()
:directors
フィールドの値に"Sofia Coppola"
が含まれるドキュメントと一致しますselect()
: 一致するドキュメントのimdb.rating
フィールド値を取得しますdistinct()
: 選択したフィールドの一意の値を検索し、値のリストを返しますget()
: クエリ結果を取得します
$ratings = DB::table('movies') ->where('directors', 'Sofia Coppola') ->select('imdb.rating') ->distinct() ->get(); echo $ratings;
[5.6,6.4,7.2,7.8]
Lambda アプリケーションを編集して使用例を実行する方法については、使用例のランディング ページ を参照してください。