这应该是直截了当的,但我无法在文档或其他地方找到它。如何使用Eloquent ORM在Laravel 5.1中TRUNCATE...CASCADE
使用外键的表?仅使用User::truncate();
并不会通过CASCADE
参数。
答案 0 :(得分:8)
看起来这样做的唯一方法是直接运行语句:
DB::statement('TRUNCATE users CASCADE');
答案 1 :(得分:0)
如果您需要truncate
多个表,则可以删除CASCADE
关键字并提供以逗号分隔的表名列表。
$tables = [
'roles',
'role_users',
'users',
'revisions',
];
if (count($tables) > 1) {
DB::statement('TRUNCATE TABLE ' . implode(',', $tables) . ';');
} else {
DB::statement('TRUNCATE TABLE ' . $tables[0] . ' CASCADE;');
}