Docs Menu

ドキュメントの検索

コレクションから単一のドキュメントを取得するには、Model::where()DB ファサードのメソッドなどのメソッドを使用してドキュメントを一致させ、first() メソッドを呼び出して 1 つのドキュメントを返します。

クエリフィルターに一致するドキュメントが複数ある場合、 first()はデータベース内のドキュメントのの自然な順序に従って、またはorderBy()メソッドを使用して指定できるソート順序に従って、最初に一致するドキュメントを返します。

Tip

Laravel 統合を使用してドキュメントを取得する他の方法については、「 読み取り操作ガイド 」をご覧ください。

次の 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 アプリケーションを編集して使用例を実行する方法については、使用例のランディング ページ を参照してください。