Heres ne yapıyorum. cevabın kullanıcıya karşılık gelenLaravel 5.2 İstenmeyen yükleme yok
$question = ForumQuestion::where('link',$ques)->with('answers')->first();
$answers = $question->answers;
$answers->load('user');
//return $answers;
return view('forum.question', compact('question','answers'));
$answers->load('user');
istekli yükler.
public function user()
{
if ($this->user_type == 'student') {
return $this->belongsTo(Student::class, 'user_id');
}else{
return $this->belongsTo(Teacher::class, 'user_id');
}
}
Ancak sorun $ this-> user_type bir çeşit statik alıyor. Eğer ilk cevabım user_type = 'teacher'
ise, o zaman student
'a bir süre değişse bile her sorguda teacher
olduğu varsayılmaktadır. Neden statik? Yüklemeyi istesem iyi çalışır.
Neden iç içe istekli yükleme yapmaya çalışmayın '$ question = ForumQuestion :: nerede ('link', $ ques) -> ('answers.user') -> first();' ile –
@FabioAntunes iç içe istekli yükleme ile istekli tüm yükler, iç içe istekli yükleme sorguları ilk olarak çalıştırıldığı zaman olduğu gibi null 'user' sonuçlanır. Bu null $ sonuçlanır ve bu nedenle "$ this-> user_type" olsaydı, bu ifade her zaman yanlış ve sonuç olarak yanlış veya null kullanıcı yapar. – jovanpreet
Bu nedenle ilişkinizi yanlış bir şekilde tanımladığınızdan, [polimorfik ilişkiler] (https://laravel.com/docs/master/eloquent-relationships#polymorphic-relations) 'a bakın. –