如何使用Eloquent删除表中的所有行?

13 浏览
0 Comments

如何使用Eloquent删除表中的所有行?

我的猜测是使用以下语法:

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

但是它没有运行。我确定这非常简单,但是我已经寻找有关这个主题的文档,并找不到!

admin 更改状态以发布 2023年5月20日
0
0 Comments

Laravel 5.2+解决方案。

Model::getQuery()->delete();

只需使用表名和基础构建器即可进行任何操作。
再也没有比这更简洁的了。

Laravel 5.6解决方案

\App\Model::query()->delete();

0
0 Comments

MyModel::all() ->delete()不起作用的原因是因为all()实际上会触发查询并返回一个Eloquent对象的集合。

您可以使用truncate方法,该方法适用于Laravel 4和5:

MyModel::truncate();

这将从表中删除所有行,而不记录单个行删除。

0