Yabancıl Anahtar Oluşturma (Foreign Key)

yabancil-anahtar-olusturma-foreign-key (büyük resim için tıklayın)

Merhaba, bu gönderide migration dosyası üzerinde yabancıl anahtar oluşturmaktan bahsediyorum.

Öncelikle users ve roles tablolarının olduğu varsayılıp her kullanıcının yalnızca 1 role sahip olacağı düşünülsün. Bunun için users tablosuna roles tablosu ile ilişkiyi tutacak "roles_id" adında alan eklenmelidir. İlgili alanın veri tipi; roles tablosunun id alanının veri tipine göre belirlenmelidir. Yabancıl anahtar olduğunu belirtmek için foreign fonksiyonu ile nitelemeye başlanılır. Bu fonksiyona parametre olarak ilişkiyi tutan alanın ismi (roles_id) verilmelidir. Sonrasında, references fonksiyonu ile hangi alandan referans alacağını (id), on fonksiyonu ile de referans aldığı alanın tablo ismi (roles) zincirleme olarak bildirilmelidir.

Örnek roles tablosu migration dosya içeriği

  • $table->id(); //varsayılan olarak id isminde 8-byte otomatik artan bigInteger alan oluşturur

Örnek users tablosu migration dosya içeriği

  • $table->unsignedBigInteger('roles_id');
    $table->foreign('roles_id')->references('id')->on('roles');

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)