当我尝试删除其他表中具有其外键的行时,如何获取数据库错误?

时间:2018-05-07 16:56:43

标签: laravel migration

(Laravel框架)

如何使用迁移在数据库中创建表,所以当我尝试从另一个表中某个地方将其键作为外键的表中删除行时,我从数据库中收到错误而不让我这样做?

我是否必须在迁移中创建关系,我说我的数据库中的外键是什么,或者是否有其他方式只使用Laravel模型。

我是新手。谢谢。

1 个答案:

答案 0 :(得分:1)

您需要删除取消激活外键检查,以便说,我正在使用以下功能来完成该操作。首先,我将外键检查设置为0然后截断表并将其设置回1.将外键检查设置为0允许即使有外键也可以截断表。

# functions to truncate users table even if there are foreign key
public static function truncateUserTable()
{
    DB::statement('SET FOREIGN_KEY_CHECKS=0');
    User::query()->truncate();
    DB::statement('SET FOREIGN_KEY_CHECKS=1');
}