musaakkayaa
Merhaba,
laravel ile yeni tanıştım makalelerini okuduğumda adamlar yapmış bile dedim.
ama hangi kullanıcının hangi postaya ait olduğunu bulmaya çalışıyorum fakat başarılı bir sonuç elde edemedim.
Kullanıcı modelimi aşağıdaki tanımlamayı yapıyorum
public function aa(){
return $this->hasMany('Posta Modeli','Kullanıcı Id','Postadaki Kullanıcı Id');
}
kullanırkende Controller dosyamda .
return var_dump(User::find(1)->aa);
dediğimde ise boş değer getiriyor.
hatam ne olabilir?
mysql tarafında tabloları kendim oluşturdum bu bir sorun olurmu?
Teşekkürler
sergin
Sıralama şöyle olması gerekiyor
hasMany($related, $yabancıAnahtar = null, $lokalAnahtar = null); dolayısıyla
hasMany('Posta Modeli','Postadaki Kullanıcı Id','Kullanıcı Id'); olmalı.
Eğer user'in birden çok posta'sı varsa ve Modeller sırasıyla User ve Posta ise geleneksel olarak primer anahtar isimleri "id" olacak ve postas tablosundaki yabancı anahtar ismi "user_id" olacaktır, böyle bir durumda User modelinde birden çoğa ilişki için "hasMany('Posta');" tanımlaması yeterli olur, Laravel gerisini halleder, sanki siz "hasMany('Posta','user_id','id');" yazmışsınız gibi.
Eğer siz anahtarlar için geleneğin dışında isimler kullanmışsanız, o zaman yabancı anahtar ve lokal anahtarı belirtmek durumundasınız:
hasMany('Posta','user_id','id');