我是迁移新手,并尝试创建 2 个表,其中一个表有外键,另一个表引用另一个表中的 id,但我遇到了添加键错误的一般失败。我有什么遗漏的吗?
error:
[PDOException]
SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint
code:
Schema::create('app_groups', function($table) {
$table->increments('id');
$table->string('app_name');
$table->unsignedInteger('app_group_id');
$table->timestamps();
});
Schema::create('app_to_bucket', function($table) {
$table->increments('id');
$table->unsignedInteger('app_group_id');
$table->unsignedInteger('bucket_id');
$table->timestamps();
});
Schema::table('app_to_bucket', function($table) {
$table->foreign('app_group_id')->references('app_group_id')->on('app_groups')->onDelete('cascade');
});
这肯定会起作用。 Eloquent 主键是长度为 10 且无符号的整数。这就是关系不起作用的原因。
Schema::create('app_groups', function($table) {
$table->string('app_name');
$table->integer('app_group_id')->length(10)->unsigned();
$table->timestamps();
});
Schema::create('app_to_bucket', function($table) {
$table->integer('app_group_id');
$table->integer('bucket_id')->length(10)->unsigned();
$table->timestamps();
});
Schema::table('app_to_bucket', function($table) {
$table->foreign('app_group_id')->references('app_group_id')->on('app_groups')->onDelete('cascade');
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)