1. ホーム
  2. laravel

[解決済み] Eloquentを使用してテーブルのすべての行を削除する方法は?

2022-04-20 21:06:15

質問

私の推測では、次のような構文になるのではないかと思いました。

MyModel::all()->delete();

しかし、それはうまくいきませんでした。超簡単なことだと思うのですが、この件に関するドキュメントを探したのですが、見つからないのです

どのように解決するのですか?

理由 MyModel::all()->delete() が機能しないのは all() は実際にクエリを実行し、Eloquentオブジェクトのコレクションを返します。

Laravel 4と5で動作するtruncateメソッドを利用することができます。

MyModel::truncate();

これは、個々の行の削除を記録することなく、テーブルからすべての行を削除します。