2018/05/31更新

[PHP] LaravelのEloquentで全件削除する方法

このエントリーをはてなブックマークに追加      

こんにちは、@yoheiMuneです。
LaravelのEloquentを用いた場合の、全件削除の実装方法をブログに書きたいと思います。



目次




対象バージョン

Laravel5.6以上を対象としています。他のバージョンでは違う場合がありますので、適宜読替えをお願いします。



Eloquentで全件削除する(方法1)

Eloquentで全件削除するには、以下のように実装します。
// 全件削除する
User::query()->delete();
ポイントはquery()関数を呼ぶことでクエリにして、その後はクエリビルダーとしてdelete()を呼び出します。



Eloquentで全件削除する(方法2)

トランケートを用いることも可能です。トランケートの場合、DBの自動採番もリセットできます。しかし、ロールバックができないので注意が必要です。
User::truncate();



クエリビルダを用いて全件削除する

クエリビルダを用いても全件削除できます。
// 方法1:deleteで削除
DB::table('users')->delete();

// 方法2:トランケートで削除
DB::table('users')->truncate();
ただ、テーブル名が文字列になってリファクタリングやコード補完がしづらいので、できればEloquentを使いたいところです。



最後に

Laravel案件をいくつかやっていますが、ノウハウがたまると爆速開発できるから良いですね〜。いっぱいブログにもアウトプットしていきたいと思いますので、ぜひ今後もご確認頂けたら幸いです。

最後になりますが本ブログでは、フロントエンド、PHP、サーバー、インフラ、Swift、Node.js、Python、Java、Linux、機械学習、などの技術トピックを発信をしていきます。「プログラミングで困ったその時の、解決の糸口に!」そんな目標でブログを書き続けています。ぜひ、本ブログのRSSTwitterをフォローして貰えたら嬉しいです ^ ^

最後までご覧頂きましてありがとうございました!





こんな記事もいかがですか?

RSS画像

もしご興味をお持ち頂けましたら、ぜひRSSへの登録をお願い致します。