问题描述
Illuminate\Database\QueryException
sqlSTATE[23000]:完整性约束违规:1452 无法添加或更新子行:外键约束失败 (pride-express
.travel_planes
,CONSTRAINT travel_planes_circuit_id_foreign
FOREIGN KEY (circuit_id
) REFERENCES circuits
(id
) ON DELETE CASCADE ON UPDATE CASCADE) (sql: insert into travel_planes
(car_id
,user_id
,title
,is_reservation_open
,departure_time
,updated_at
,created_at
) 值 (1,1,Roles,2021-06-10 07:02:00,2021-06-10 04:06:39,2021-06-10 04:06:39))
这是我的电路表迁移:
Schema::create('circuits',function (Blueprint $table) {
$table->id();
$table->string('circuit_slug')->unique();
$table->string('departure');
$table->string('destination');
$table->timestamps();
});
电路模型:
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Circuit extends Model
{
use HasFactory;
/**
* Get the .. that owns the comment.
*/
public function travelPlane()
{
return $this->hasMany(TravelPlane::class);
}
}
以下是我的 travel_planes 迁移表:
Schema::disableForeignKeyConstraints();
Schema::create('travel_planes',function (Blueprint $table) {
$table->id();
$table->string('title')->unique();
$table->string('slug')->unique();
$table->unsignedBigInteger('car_id');
$table->foreign('car_id')
->references('id')
->on('cars')
->onDelete('cascade')
->onUpdate('cascade');
$table->unsignedBigInteger('circuit_id');
$table->foreign('circuit_id')
->references('id')
->on('circuits')
->onDelete('cascade')
->onUpdate('cascade');
$table->timestamp('departure_time');
$table->unsignedBigInteger('user_id');
$table->foreign('user_id')
->references('id')
->on('users')
->onDelete('cascade')
->onUpdate('cascade');
$table->boolean('is_reservation_open')->default(true);
$table->timestamps();
});
TravelPlanes 模型:
<?PHP
namespace App\Models;
use Illuminate\Support\Facades\Auth;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Factories\HasFactory;
class TravelPlane extends Model{
use HasFactory;
/**
* Get the Trajectory for the travel.
*/
public function circuit()
{
return $this->belongsTo(Circuit::class);
}
}
注意:Travel planes 表中的数据是由 faker 生成的。
当我尝试使用 voyager 管理面板在我的 travel_plane 表中添加新行时发生此错误。 有什么帮助吗?