你们能帮我吗?我想在posts表中添加一个在categories表中有引用的外键。但是当我输入命令php artisan migrate:fresh时,它总是失败。我得到的错误信息是这样的PDOException::("SQLSTATE[HY000]: General error: 1005 Can't create table 'handconsulting'.'posts' (errno: 150 "Foreignkey constraint is incorrectly formed")")
这是我的posts表
Schema::create('posts', function (Blueprint $table) {
$table->id();
$table->string('title');
$table->foreignId('category_id')->constrained('categories')->onDelete('cascade')->onUpdate('cascade');
$table->string('slug')->unique();
$table->text('excerpt');
$table->text('body');
$table->string('iamge')->nullable();
$table->timestamp('published_at')->nullable();
$table->timestamps();
});
这是我的categories表
Schema::create('categories', function (Blueprint $table) {
$table->engine = 'InnoDB';
$table->id();
$table->string('name')->unique();
$table->string('slug')->unique();
$table->timestamps();
}); Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
this is my approach:
$table->unsignedBigInteger('category_id'); $table->foreign('category_id')->references('id')->on('categories')->onDelete('cascade')->onUpdate('cascade');