Birebir İlişki (One to One Relation)

birebir-iliski-one-to-one-relation (büyük resim için tıklayın)

Bir sistem üzerinde, kullanıcılar ve roller tablosunun olduğu, bir kullanıcının yalnızca bir role sahip olabileceği düşünülsün. Bunun için kullanıcılar tablosunda rol alanı ve yabancıl anahtar ile ilişkilendirilmesi yapılmalıdır. İlişkilendirme yapıldıktan sonra kullanıcı modelinden, ilgilenilen herhangi bir kullanıcın sahip olduğu rol ismine erişmek için Kullanıcı modelinde aşağıdaki gibi fonksiyon tanımlanmalıdır,

 public function role()
{
    return $this->hasOne(Role::class,'id','roles_id');
}

hasOne ile yalnızca bir kayıt ilişkisini, ilişkinin hangi sınıf (Role::class => aranılan alanın tablo isminin model dosya yolu) olduğunu, ilişkinin birincil anahtarını (id), fonksiyonun tanımlandığı sınıfın (Kullanıcı) ilişki kuracağı sınıf (Rol) ile ilişkisini kuracağı yabancıl anahtarı (roles_id) belirtilerek sağlanır. Örnek kullanımı,

@foreach(User::all() as $user)
 <p>{{$user->name.' => '.$user->role->name}}</p>
@endforeach

omurs

Ö S, 30 Ağustos 2018 Perşembe 15:30 tarihinde kayıt oldu

Beğeni


Yıllara Göre Gönderiler








LombokLoglamaB2C (Business-to-Consumer)B2B (Business-to-Business)İçerik Yönetim Sistemi - CMS (Content Management System)Pagination (Sayfalama)Sanal Özel Ağ - VPN (Virtual Private Network)Cronjob (Zamanlanmış Görevler)Printer-YazıcıJava'daki İlkel Veri Tipleri ve Alabilecekleri DeğerlerBit & Byte ve Hafıza Boyutlarındaki Ölçüm BirimleriSanallaştırma (Virtualization)DNS KayıtlarıE-Fatura ve E-ArşivYazılım Lisans TürleriAudit (Denetim) Açık Kaynak (Open Source)Monitoring (İzleme)Sitemap & Robots.txtKilometretaşı (Milestone)BSMV (Banka ve Sigorta Muameleleri Vergisi)KKDF (Kaynak Kullanımı Destekleme Fonu)Siber Pazartesi (Cyber Monday)Black Friday (Kara Cuma)Hotlink.htaccessCryptoLockerMalwareTrojanWormDependency (Yazılım Geliştirme Sürecinde Paket Bağımlılığı)Configuration (Yazılım Geliştirme Sürecinde Yapılandırma)Yahoo ve Yahoo'nun Başarısızlık NedenleriArchiving (Yazılım Geliştirme Sürecinde Arşivleme)Görsel Dosya Türleri (Image Types)ReleaseVersioning & Tagging (Versiyonlama ve Etiketleme)BuildJob (Yazılım Geliştirme Sürecinde Görevler)SonarQubeCDATA (Character Data)Alan Adı Uzantıları (Domain Name Extensions)Regresyon Kara Kutu (Black-Box) TestBeyaz Kutu (White-box) TestGri Kutu (Grey-box) TestYazılım Geliştirme Sürecindeki Temel Test TürleriKod gözden geçirme (Code Review)Birim Testi (Unit Testing)Yazılım Sürecinde EntegrasyonJAR & WAREager & Lazy Fetch TypeMaskelemeKPI (Key Performance Indicator)KII (Key Impact Indicator)Projenin JAR Dosyasını Oluştur - JAR PathSunucu için Linux dağıtım SeçimiKonyteynerler (container technologies)Runtime & Compile Time (Çalışma ve Derleme Zamanı)@Anotasyonlar (@Annotations)