Laravel Eloquent ORM – Bire Çok İlişki

One to Many

Bire çok ilişki türü, One to Many diye geçmektedir. Mesela bir öğrenciler tablomuz birde projeler tablomuz olduğunu düşünelim, bir öğrenci birden fazla proje yapabilir fakat yapılan proje bir öğrenciye ait olabilir işte bu gibi yapılarda bire çok ilişki türünü kullanırız. Şimdi aşağıdaki örneği inceleyelim.

proje.php(Model Dosyası)

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class proje extends Model
{
protected $table = “projeler”;
}

ogrenciler.php

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class ogrenciler extends Model
{
protected $table = “ogrenciler”;
public function projeler()
{
return $this->hasMany(“App\proje”,”ogrenci_id”,”id”);
}
}

Örneğimizde, ogrenciler model nesnemizi kullanarak proje model nesnesi ile bire çok ilişki kurduk. Bu ilişki kurulurken hasMany metodunu kullandık. Daha sonra App dizini altındaki proje model nesnemiz ile ilişki kurulacağımı belirttik son olarak yabancı anahtar ve birincil anahtarı belirterek ilişkiyi kurmuş olduk.

web.php(Yönlendirme Dosyası)

use App\ogrenciler;

 

Route::get(‘/ogrenci/projeler’,function(){
$projeler = ogrenciler::find(1)->projeler;
return view(‘welcome’,compact(‘projeler’));
});

welcome.blade.php

@foreach($projeler as $proje)
{{$proje->proje_adi}}
@endforeach

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *