我一直得到这个例外:
[Illuminate\Database\QueryException]
SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint (SQL
: alter table `messages` add constraint messages_from_foreign foreign key (
`from`) references `id` (`users`))
[PDOException]
SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint
这是我的CreateMessagesTable
课程:
public function up()
{
Schema::create('messages', function(Blueprint $table)
{
$table->bigIncrements('id');
$table->bigInteger('from', false, true);
...
$table->foreign('from')->references('users')->on('id');
});
}
这是我的CreateUsersTable
课程:
public function up()
{
// http://laravel.com/docs/5.0/schema
Schema::create('users', function(Blueprint $table)
{
$table->bigInteger('id', true, true);
...
});
}
我尝试仔细检查id
中的users
列和from
中的messages
列是否具有相同的数据类型。我想知道出了什么问题,以及为什么我不断收到约束错误信息。
答案 0 :(得分:1)
这是你的问题:
$table->foreign('from')->references('users')->on('id');
值应该相反 - on
使用表名,references
指向该表中的列。
来源:Laravel Docs