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

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

但这并没有起作用。我相信这是超级简单的,但我已经搜索了关于这个主题的文档,但找不到它!


当前回答

你也可以试试这条保留软删除的一行代码:

Model::whereRaw('1=1')->delete();

其他回答

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

你可以使用截断方法,这适用于Laravel 4和5:

MyModel::truncate();

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

在Laravel 3中完成此操作的最佳方法似乎是使用Fluent接口截断表,如下所示

DB::query("TRUNCATE TABLE mytable");

MyModel:: truncate ();

在准将队伍中:

PHP工匠修补匠

then

职位:截断();

简单的解决方案:

 Mymodel::query()->delete();

你也可以试试这条保留软删除的一行代码:

Model::whereRaw('1=1')->delete();