Php (Laravel 8)错误号:150“;外键约束的格式不正确

Php (Laravel 8)错误号:150“;外键约束的格式不正确,php,laravel-8,Php,Laravel 8,我想创建一个表格,帮助用户阅读按类别排序的主题;此外,用户选择他们想要的类别,以便查看与类别关联的兴趣主题。例如,当用户访问BBC时,他们可以从分类中看到他们想要看到的主题 类别表 身份证件 名称 1. 体育 2. 技术人员 使用cascadeOnDelete()方法定义级联 $table->foreignId('user_id')->constrained()->cascadeOnDelete() 请先阅读文档。 foreignd方法是unsignedbiginger

我想创建一个表格,帮助用户阅读按类别排序的主题;此外,用户选择他们想要的类别,以便查看与类别关联的兴趣主题。例如,当用户访问BBC时,他们可以从分类中看到他们想要看到的主题


类别表

身份证件 名称 1. 体育 2. 技术人员
使用
cascadeOnDelete()
方法定义级联

$table->foreignId('user_id')->constrained()->cascadeOnDelete() 

请先阅读文档。

foreignd
方法是
unsignedbiginger
的别名,而
constrated
方法将使用约定来确定引用的表和列名。如果您的表名与Laravel的约定不匹配,您可以通过将表名作为参数传递给
constrated
方法来指定表名:

问题是您将表名作为
'cascade'
提供,而不是
'users'

i、 e

也不要忘记更正
“类别id”

如果您确实希望应用
'cascade'
选项,请尝试:

$table->foreignId('user_id')
      ->constrained()
      ->onUpdate('cascade')
      ->onDelete('cascade');

如果答案解决了您的问题,您可以选择将其标记为已接受。:)@steven7mwesigwa好的,谢谢你,所以muchI尝试了这种方式,我很困惑。然而,现在我明白了。
$table->foreignId('user_id')
      ->constrained()
      ->onUpdate('cascade')
      ->onDelete('cascade');