Laravel Tablolar Arası İlişkiler -Relations

youBirbiriyle ilişkisi olan tablolardan veri çekmek için kullanacağımız yöntemleri inceleyeceğiz.

One to One (birebir)

One to Many (birden çoğa)

Many to Many (çoktan çoğa)

Örnek tablolarımızı oluşturalım

Birey tablosu:

Birey tablomuzu oluşturduk.

Nufusbilgileri tablosu

daha sonra tabloları aktif etmek için aşağıdaki komutu yazıyoruz

Şimdi sıra model oluşturmaya geldi.

One to One – birebir ilişki kurma

Birey.php için aşağıdakileri yapalım

bu komut ile birey modelini NufusBilgileri modeli ile ilişkilendiriyoruz . böylece “birey” tablosundaki bir kişinin “nufusBilgileri” tablosundaki bilgilere direk erişebileceğiz.

 

NufusBilgileri modeli için aşağıdakileri yapalım.

Örnek : 

Adı “osman” olan bireyin doğum yerini alalım.

ekran çıktısı

Örnek :

Doğum yeri Ankara olan bireyin adı ve soyadı bilgisini alalım.

Örnek tüm bireylerin adlarını ve memleketlerini alalım:

ekran çıktısı

foreign key kullanımı

Foreign key ile bir birine ilişkili tablolarda ;

bir tablodan veri silindiğinde ilişkili tablodan da veri silinmesini sağlarız.

NufusBilgileri tablosunda aşağıdaki gibi foreign key satırını ekleyelim:

önceden yaptığımızı tabloları silmek için aşağıdaki kodu çalıştırın

tabloları yeniden oluşturmak için

şimdi ilişkisel silmeyi deniyoruz

dediğimizde 2 tablodan da silmesi gerekiyor (not bende olmadı… mysql motoru olarak myısam kullandığım için olabilir)

One To Many (birden çoğa ilişki)

bu tip bir yapıyı şöyle örnekleyebiliriz. Bir kişi markete girip birden fazla alışveriş yapabilir. şimdi kullanımına geçelim. 

göevlendirme tablomuzu oluşturalım

birey php yi değiştiriyoruz

Görevlendirmeler modelini oluşturuyoruz

Örnek: Adı ali olan vatandaşın aldığı görev yerlerini yazdıralım

Ekran Çıktısı

 

Şimdide görev yeri Bursa olanları gösterelim

ekran çıktısı

Many To Many (Çoğa çok ilişki)

Örneğin bir birey birden çok ders girebileceği gibi , bir ders birden çok birey girebilir.

Dersler tablosunu oluşturuyoruz.

 

Yazar: Mustafa Şadoğlu

Mustafa sitemizde 106 yazı eklemiş...

Share