berattozaydin Aldığınız hata jobs tablonuzdaki firma_id ile firmas tablonuzdaki id alanının farklı tipte olması. Sonradan değişiklik yaptıysanız artisan migrate:fresh
ile tabloları düşürüp kurun.
Ayrıca şu şekilde yazabilirsiniz. Bu şekilde yazarsanız hatalı yazma olasılığınız azalır:
Schema::create('jobs', function (Blueprint $table) {
$table->id();
$table->foreignId('position_id')->constrained('positions')->cascadeOnDelete();
$table->foreignId('taskmaster')->constrained('users')->cascadeOnDelete();
$table->foreignId('firma_id')->constrained('firmas')->cascadeOnDelete();
$table->string('title', 150);
$table->string('description')->nullable();
$table->timestamp('finished_at')->nullable();
$table->timestamps();
});
MySQL/MariaDB değil de PostgreSQL kullanıyorsanız foreign key'ler için ayrıca index oluşturmanız lazım. Şu şekilde (ya da sonradan $table->index('position_id')
şeklinde):
$table->foreignId('position_id')->index()->constrained('positions')->cascadeOnDelete();