Bu hata genelde veritabanında ilişki kurmaya çalıştığınız alanların tipleri ya da uzunlukları aynı olmadığında oluşur. Mesela int ile bigInt id columnlarını foreign key yapmak gibi. Bu alanları kontrol edebilirsiniz.
Hocam migrateler şu şekilde mesela ikisi:
public function up()
{
Schema::create('yurtlars', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('yurt_adi');
$table->unsignedBigInteger('user_id');
$table->unsignedBigInteger('mintika_id');
$table->unsignedBigInteger('bolge_id');
$table->foreign('user_id')
->references('id')
->on('users');
$table->foreign('mintika_id')
->references('id')
->on('mintikalars');
$table->foreign('bolge_id')
->references('id')
->on('bolgelers');
});
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('yonetici_isim');
$table->string('yonetici_kadi')->unique();
$table->string('password');
$table->integer('yonetici_yetki')->default(0)->comment('1:root 2:bolgey 3:minty 4:yurty 5:hocaefendi 6:hocahanim 7:dpersonel 8:ihvan 9:ahavat 10:muhibban 11:bolgem');
$table->unsignedBigInteger('yurt_id')->default(0);
$table->unsignedBigInteger('mintika_id');
$table->unsignedBigInteger('bolge_id');
$table->foreign('yurt_id')
->references('id')
->on('yurtlars');
$table->foreign('mintika_id')
->references('id')
->on('mintikalars');
$table->foreign('bolge_id')
->references('id')
->on('bolgelers');
});
Sonuç olarak birbirinde id'si bulunan tabloları, laravel birbirine bağlayamıyor. Birinden kaldırdığımda çalıştı işlemler.
Akla gelen soru şu: İki tabloyu birbirinin id'leri ile ilişkilendirmek, acaba veritabanı tasarım mantığına aykırı mı olmuş oluyor?