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

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

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


当前回答

MyModel:: truncate ();

在准将队伍中:

PHP工匠修补匠

then

职位:截断();

其他回答

我在种子文件中看到过这两种方法。

// Uncomment the below to wipe the table clean before populating

DB::table('table_name')->truncate();

//or

DB::table('table_name')->delete();

即使你不能使用第一个,如果你想设置外键。

不能截断外键约束中引用的表

所以用第二个可能是个好主意。

在我的情况下,laravel 4.2删除所有行,但不截断表

DB:表(your_table) - > delete ();

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

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

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

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

Laravel 5.2+解决方案。

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

只需获取表名的底层构建器并做任何事情。 没有比这更整洁的了。

Laravel 5.6解决方案

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