如何使用Eloquent删除表中的所有行? [英] How to delete all the rows in a table using Eloquent?
本文介绍了如何使用Eloquent删除表中的所有行?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的猜测是使用以下语法:
My guess was to use the following syntax:
MyModel::all()->delete();
但是那没有用.我敢肯定它非常简单,但是我已经搜索了有关该主题的文档,但找不到它!
But that did not work. I'm sure it's super simple, but I've searched for documentation on the subject and can't find it!
推荐答案
MyModel::all()->delete()
不起作用的原因是因为all()
实际上触发了查询并返回了Eloquent对象的集合.
The reason MyModel::all()->delete()
doesn't work is because all()
actually fires off the query and returns a collection of Eloquent objects.
您可以使用truncate方法,这适用于Laravel 4和5:
You can make use of the truncate method, this works for Laravel 4 and 5:
MyModel::truncate();
这会删除表中的所有行,而不会记录单个行的删除.
That drops all rows from the table without logging individual row deletions.
这篇关于如何使用Eloquent删除表中的所有行?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文