Laravel Polymorphic Many to Many Relation

Merhaba Mobilhanem.com takipçileri,
Bu yazımda sizlere daha önce bahsettiğim many to many ilişkisinin daha karmaşık hali olan Polymorphic Many To Many Relation ilişkisini hakkında yazacağım. Sizin yorumlarınız çok önemli lütfen paylaşım ve yorumlarınızı bizden esirgemeyin.

Laravel Eloquent Polymorphic Many To Many Relation Nedir?

İki ders önce bahsettiğimiz örnekten devam edersek eğer orada one to one ilişkisi kurarak bir Post ve Video nun sadece bir Category değeri olacağını planlamıştık. Bu örnekte ise Post ve Video ların birden fazla Category ile eşleşebildiği durumu örneklendireceğiz. Yine Posts, Videos ve Categories olarak 3 ayrı tablomuz olsun. Bu ilişkide daha önceki yazılarımda yer alan many to many ilişkisi geçerlidir. Yine polymorphic ilişkideki farkı bunun iki değil üç tablo arasında kurulan bir ilişki olmasıdır.

Yukarıdaki örnekten devam etmek gerekirse öncelikle bir Post ve bir de Video model ve migration larını hazırlayalım.

 

 

kodunu yazarak Post ve Video adında modeller ve bu modellere bağlı migration dosyalarını oluşturuyoruz. Oluşturduğumuz Post ve Video migration dosyalarının içerisine

 

 

yazarak Post ve Video tablolarını basit bir şekilde oluşturuyoruz. Daha sonra ise Categories tablosunu hazırlamak için

 

 

yazıyor ve migration tablosu içerisine

 

 

yazarak tablomuzu oluşturuyoruz. Burada bize modeli olmayan bir tablo daha lazım bunun için de komut satırına

yazıp migration dosyamızı oluşturuyoruz.

Migration dosyamızda ise diğerlerinden farklı olarak id tanımlamıyoruz bunun yerine size tüm up fonksiyonunu kopyalıyorum

 

 

Tüm migrationlarımız hazır. Veritabanımızı

ile güncelliyoruz.

Şimdi de oluşturduğumuz modeller içinde bu ilişkiyi nasıl sağladığımıza bakalım.

 

Post model dosyası

 

Video model dosyası:

 

Category model dosyası:

 

Yukarıdaki kodları sisteme ekledikten sonra Post ya da Video tablosuna bağlı Category bilgi ya da bilgilerini çekmek içinse

 

 

kodunu kullanabiliriz. Bu şekilde Video ya ait Category veri ya da verilerini listeleyebiliriz. Dönen veri array şekilde olacağı için buna mutlaka dikkat etmelisiniz.

Örnek olarak;

polymorphic many to many relation

 

polymorphic many to many relation
polymorphic many to many relation

Polymorphic Many To Many Relation Ters Bağlantısı

Diğer ilişki çeşitlerinde olduğu gibi bu ilişkide de Post/Video bulduktan sonra Categories bilgisine ulaşabildiğimiz gibi Category den de Post/Video bilgilerine ulaşabiliriz.

Bunu yapmak gerekli kod;

 

 

Mobilhanem.com için yazdığım bu yazı umarım yardımcı olur. Daha fazla detaylı bilgi için laravel dökümanından yararlanabilirsiniz.

Tüm Laravel Derslerimiz için tıklayınız.

Mobilhanem.com üzerinden yayınladığım laravel eğitimlerine devam edeceğiz. Yazımız ile ilgili tüm sorularınızı yorum bölümden ulaştırabilirsiniz. Bunun dışındaki diğer sorularınız için sorucevap.mobilhanem.com sitesini kullanabilirsiniz.

Umarım sizin için yararlı olmuştur. Okuduğunuz için teşekkürler. Daha fazla kişinin okuması için paylaşmayı unutmayın…

Onur Üre

Aslen jeoloji mühendisi olup hiç mesleğini yapmaya fırsat bulamayan ve gönlünde hep bilgisayar ve programlama olan, evden (home-office) çalışma şekline bayılan, evli, 2 kedi ve 1 tavşan babası, sokaktaki her köpek, kedi, kuşun abisi olmayan çalışan biriyim. Lütfen bir kap su bir kap yemek her köşe başına...

Yorum Yaz

Haftalık Bülten

Mobilhanem'de yayınlanan dersleri haftalık mail almak ister misiniz?