Laravel 迁移外键

out*_*olf 2 php laravel laravel-4

我正在尝试在 Laravel 中建立一些关系,我对关系和迁移有点困惑。这是我正在做的一个简单的例子:

Users -> has_many -> Cats
Run Code Online (Sandbox Code Playgroud)

所以我的用户迁移文件与 Cats 有如下关系:

$table->foreign('cats_id')->references('id')->on('cats')
Run Code Online (Sandbox Code Playgroud)

但是当我运行迁移时,我得到:

Error: relation cats does not exist...
Run Code Online (Sandbox Code Playgroud)

我需要在用户表之前构建 Cats 表吗?

我是否还需要指定两者之间的外部关系,或者如果模型包含“hasMany”和“belongsTo”,Laravel 不会在迁移时自动建立这些关系?

我真的需要迁移吗?

Jar*_*zyk 5

您不能引用不存在的表。它与 Laravel 或 Eloquent 无关,它是 (My)SQL 的东西。

首先创建父表users,然后子表cats引用第一个:

$table->foreign('user_id')->references('id')->on('users')
Run Code Online (Sandbox Code Playgroud)

User hasMany Cat会是什么样子。cats表有外键引用users表,而不是像你试过的那样。