📅  最后修改于: 2023-12-03 15:17:14.086000             🧑  作者: Mango
在Laravel中,删除多列是一项非常基础的操作。你可以使用Eloquent模型类和Query Builder等不同方法进行删除。以下是一些示例方法用于删除多列。
首先,在Eloquent模型中,你可以使用destroy
方法来删除多列。这个方法将接受一个包含主键值数组的参数。例如:
$ids = [1, 2, 3];
User::destroy($ids);
以上代码将会从User模型中删除ID是1、2和3的三条记录。你也可以使用whereIn
方法来删除多列,这个方法接受一个包含所有要删除ID的数组。例如:
User::whereIn('id', [4, 5, 6])->delete();
以上代码将会从User模型中删除ID分别是4、5和6的三条记录。还可以使用其他查询构造器来删除,并结合delete
方法,例如:
User::where('active', 0)
->where('score', '<', 50)
->delete();
以上代码将会从User模型中删除所有active
字段为0
且score
字段小于50的记录。
使用查询构造器时也有几种方法可以用于删除多列。
delete
方法是将查询结果集中的所有记录删除。例如:
DB::table('users')->delete();
以上代码将从users表中删除所有记录。你也可以通过使用where
方法来删除多列,例如:
DB::table('users')
->where('active', 0)
->where('score', '<', 50)
->delete();
以上代码将会从users表中删除所有active
字段为0
且score
字段小于50的记录。
truncate
方法将删除表中所有数据并且重置自增ID为原始值。例如:
DB::table('users')->truncate();
以上代码将会删除users表中的所有数据并且重置自增ID。
在Laravel中删除多列有多种方法,具体来说,使用Eloquent模型类和Query Builder等查询构造器都能实现。需要注意的是,在使用delete
和truncate
方法时一定要小心,因为它们可能具有破坏性。