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








laravel Kategori

Yerelleştirme (Localization #2)

Yerelleştirme (Localization)

Asset Fonksiyonu ile Varlıklara Erişim (accessing assets via asset function)