我想从表“users”创建带有外键“users_id”的表“livros”,但我无法迁移。
表格:
public function up()
{
Schema::create('livros', function (Blueprint $table) {
$table->id();
$table->integer('users_id');
$table->foreign('users_id')->references('id')->on('users');
/*Auth::user()->id;*/
$table->text('namel');
$table->string('autor');
$table->string('editora');
$table->string('categoria');
$table->string('classificação');
$table->text('descricao');
$table->string('image')->nullable();
$table->timestamp('created_at')->nullable();
$table->timestamp('updated_at')->nullable();
});
}
答案 0 :(得分:1)
您的外键需要与您的父键类型相同,users
表 $table->id();
中的父键是一个无符号大整数,因此您的外键也要同类型,改:
$table->integer('users_id');
$table->foreign('users_id')->references('id')->on('users');
到
$table->unsignedBigInteger('users_id');
$table->foreign('users_id')->references('id')->on('users');
或者,使用 foreignId
$table->foreignId('user_id')->constrained();