コレクションから単一のドキュメントを取得するには、Model::where() や DB ファサードのメソッドなどのメソッドを使用してドキュメントを一致させ、first() メソッドを呼び出して 1 つのドキュメントを返します。
クエリフィルターに一致するドキュメントが複数ある場合、 first()はデータベース内のドキュメントのの自然な順序に従って、またはorderBy()メソッドを使用して指定できるソート順序に従って、最初に一致するドキュメントを返します。
例
次の Eloquent タブと Query Builder タブから選択すると、対応するそれぞれの クエリ構文を使用する同じ操作の使用例が表示されます。
この例では、次のアクションを実行します。
MovieEloent モデルを使用して、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 アプリケーションを編集して使用例を実行する方法については、使用例のランディング ページ を参照してください。