ドキュメントの検索
コレクションから単一のドキュメントを取得するには、Model::where()
や DB
ファサードのメソッドなどのメソッドを使用してドキュメントを一致させ、first()
メソッドを呼び出して 1 つのドキュメントを返します。
クエリフィルターに一致するドキュメントが複数ある場合、 first()
はデータベース内のドキュメントのの自然な順序に従って、またはorderBy()
メソッドを使用して指定できるソート順序に従って、最初に一致するドキュメントを返します。
例
次の Eloquent タブと Query Builder タブから選択すると、対応するそれぞれの クエリ構文を使用する同じ操作の使用例が表示されます。
この例では、次のアクションを実行します。
Movie
Eloent モデルを使用して、sample_mflix
データベース内のmovies
コレクションを表しますクエリフィルターに一致するドキュメントを
movies
コレクションから取得します検索されたドキュメントを印刷
この例では、 Movie
モデルで次のメソッドを呼び出します。
where()
:directors
フィールドの値に"Rob Reiner"
が含まれるドキュメントと一致しますorderBy()
: 一致したドキュメントを_id
値の昇順で並べ替えますfirst()
: 最初に一致するドキュメントのみを検索
$movie = Movie::where('directors', 'Rob Reiner') ->orderBy('id') ->first(); echo $movie->toJson();
// Result is truncated { "_id": ..., "title": "This Is Spinal Tap", "directors": [ "Rob Reiner" ], ... }
この例では、次のアクションを実行します。
DB
ファサードからtable()
メソッドを呼び出してmovies
コレクションにアクセスしますクエリフィルターに一致するドキュメントを
movies
コレクションから取得します検索されたドキュメントの
title
フィールドを出力します
この例では、次のクエリ ビルダのメソッドを呼び出します。
where()
:directors
フィールドの値に"Rob Reiner"
が含まれるドキュメントと一致しますorderBy()
: 一致したドキュメントを_id
値の昇順で並べ替えますfirst()
: 最初に一致するドキュメントのみを検索
$movie = DB::table('movies') ->where('directors', 'Rob Reiner') ->orderBy('_id') ->first(); echo $movie->title;
This Is Spinal Tap
Lambda アプリケーションを編集して使用例を実行する方法については、使用例のランディング ページ を参照してください。