模型hasOne
与模型user
之间存在profilePresi
关系。这意味着每个用户都有0或1个总统设置。因此,profilePresi
表的主索引与外键相同。
这就是我想要添加外键的方式:
Schema::create('profilePresi', function (Blueprint $table) {
$table->integer('idMember');
$table->primary('idMember');
$table->string('idCountry',2);
$table->timestamps();
});
Schema::table('profilePresi', function($table) {
$table->foreign('idMember')
->references('id')->on('users')
->onDelete('cascade');
});
但是我收到以下错误:
我该如何解决?我正在使用InnoDB引擎,所以我知道我可以将索引键设置为外键。
答案 0 :(得分:3)
而不是使用
table->unsignedInteger('idMember');
使用
{{1}}
答案 1 :(得分:2)
您的users.id列可能是无符号整数,但您的profilePresi.idMember只是一个整数。要用作外键,它们都需要是无符号的。检查是否是这种情况,如果是这样,只需将profilePresi.idMember设为无符号 - 应该这样做。 :)