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 サイトの他の関連記事を参照してください。