コレクション内のドキュメントを削除するには、1 つの Elastic モデルを取得して delete()メソッドを呼び出すか、クエリ ビルダでdelete()を直接呼び出します。
ドキュメントを削除するには、 where()メソッドにクエリフィルターを渡し、一致するドキュメントを並べ替え、 limit()メソッドを呼び出して最初の 1 件のドキュメントのみを取得します。 次に、 delete()メソッドを呼び出してこの一致するドキュメントを削除します。
Tip
Lambda 統合を使用してドキュメントを削除する方法の詳細については、 書込み操作ガイドの ドキュメントの削除 セクションを参照してください。
例
次の Eloquent タブと Query Builder タブから選択すると、対応するそれぞれの クエリ構文を使用する同じ操作の使用例が表示されます。
この例では、次のアクションを実行します。
MovieEloent モデルを使用して、sample_mflixデータベース内のmoviesコレクションを表しますクエリフィルターに一致するドキュメントを
moviesコレクションから削除します削除されたドキュメントの数を出力します
この例では、 Movieモデルで次のメソッドを呼び出します。
where():titleフィールドの値が"Quiz Show"であるドキュメントに一致しますlimit(): 最初に一致するドキュメントのみを検索delete(): 取得されたドキュメントを削除します
$deleted = Movie::where('title', 'Quiz Show') ->limit(1) ->delete(); echo 'Deleted documents: ' . $deleted;
Deleted documents: 1
この例では、次のアクションを実行します。
DBファサードからtable()メソッドを呼び出してmoviesコレクションにアクセスしますクエリフィルターに一致するドキュメントを
moviesコレクションから削除します削除されたドキュメントの数を出力します
この例では、次のクエリ ビルダのメソッドを呼び出します。
where():titleフィールドの値が"Quiz Show"であるドキュメントに一致しますlimit(): 最初に一致するドキュメントのみを検索delete(): 取得されたドキュメントを削除します
$deleted = DB::table('movies') ->where('title', 'Quiz Show') ->limit(1) ->delete(); echo 'Deleted documents: ' . $deleted;
Deleted documents: 1
Lambda アプリケーションを編集して使用例を実行する方法については、使用例のランディング ページ を参照してください。