ドキュメントの更新
項目一覧
コレクション内のドキュメントを更新するには、単一のドキュメントを取得し、Eloqueent モデルで update()
メソッドを呼び出します。
クエリフィルターをwhere()
メソッドに渡し、一致するドキュメントを並べ替え、最初のドキュメントのみを取得するにはfirst()
メソッドを呼び出します。 次に、対象のドキュメントの変更をupdate()
メソッドに渡して、一致するドキュメントをアップデートします。
Tip
Lambda 統合を使用したデータの更新について詳しくは、 書込み操作 のガイドの「ドキュメントの変更 」セクションを参照してください。
例
この例では、次のアクションを実行します。
Movie
Eloent モデルを使用して、sample_mflix
データベース内のmovies
コレクションを表しますクエリフィルターに一致する
movies
コレクションからドキュメントを更新します更新されたドキュメントの数を出力します
この例では、 Movie
モデルで次のメソッドを呼び出します。
where()
:title
フィールドの値が"Carol"
であるドキュメントに一致しますorderBy()
: 一致したドキュメントを_id
値の昇順で並べ替えますfirst()
: 最初に一致するドキュメントのみを検索update()
:imdb.rating
ネストされたフィールドの値を6.9
から7.3
にアップデートし、imdb.votes
ネストされたフィールドの値を493
から142000
にアップデートします。
$updates = Movie::where('title', 'Carol') ->orderBy('id') ->first() ->update([ 'imdb' => [ 'rating' => 7.3, 'votes' => 142000, ], ]); echo 'Updated documents: ' . $updates;
Updated documents: 1
Lambda アプリケーションを編集して使用例を実行する方法については、使用例のランディング ページ を参照してください。