ホームページ  >  記事  >  PHPフレームワーク  >  laravelは複数のホップを削除します

laravelは複数のホップを削除します

WBOY
WBOYオリジナル
2023-05-26 15:11:09585ブラウズ

Laravel は、開発者がアプリケーションをより効率的に構築できるようにする一連の強力な機能を提供する、非常に人気のある PHP フレームワークです。 Laravel では、レコードの削除は非常に簡単です。しかし、複数のレコードを削除する必要がある場合はどうすればよいでしょうか?この記事では、Laravelで複数のレコードを削除する方法を紹介します。

Laravel では、Eloquent はレコードを削除するためのメソッドを多数提供しています。その中で、最もよく使用される方法はおそらく delete 方法です。例:

$user = User::find(1);
$user->delete();

上記のコードは、id が 1 であるユーザー レコードを削除します。しかし、複数のレコードを削除する必要がある場合はどうすればよいでしょうか?現時点では、whereIn メソッドを使用できます。例:

$ids = [1, 2, 3];
User::whereIn('id', $ids)->delete();

上記のコードは、id が 1、2、および 3 である 3 つのレコードを削除します。

ただし、whereIn メソッドは、指定されたレコードの削除にのみ適用されます。条件に基づいてレコードを削除する必要がある場合はどうすればよいでしょうか?現時点では、where メソッドを使用できます。例:

User::where('age', '>', 18)->delete();

上記のコードは、18 歳より古いすべてのユーザー レコードを削除します。

上記のメソッドに加えて、Laravel には複数のレコードを削除するためのメソッドもいくつか用意されています。

  • delete(): すべてのレコードを削除します。
  • truncate(): テーブル内のすべてのレコードをクリアします。

ただし、これら 2 つの方法は元に戻すことができず、実行後にデータを復元することはできません。したがって、使用するときは注意してください。

さらに、Laravel には非常に便利なメソッド forceDelete() も用意されており、このメソッドは SoftDeletes が使用されている場合でもレコードを永久に削除できます。例:

$users = User::onlyTrashed()->where('deleted_at', '<', now()->subMonths(6))->get();
$users->forceDelete();

上記のコードは、6 か月間論理的に削除されたユーザー レコードを削除します。

要約すると、Laravel では複数のレコードを削除する方法がいくつかあります。

  • delete(): 指定されたレコードを削除します。
  • whereIn(): 指定されたレコードのセットを削除します。
  • where(): 条件に従ってレコードを削除します。
  • truncate(): テーブル内のすべてのレコードをクリアします。
  • forceDelete(): レコードを完全に削除します。

複数のレコードを削除する場合は注意が必要で、削除操作を実行する前にそれらが正しいことを確認する必要があります。

以上がlaravelは複数のホップを削除しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。