我的模型名为'PropertyLead',
class PropertyLead extends Model
{
public function leadPropertyDetails()
{
return $this->belongsTo('App\Models\Property\Property', 'Property_id','id');
}
public function user()
{
return $this->belongsTo('App\Models\Access\User\User','user_id','id');
}
public function propertyRatings()
{
return $this
->hasMany('App\Models\Property\PropertyRating','Property_id','Property_id');
}
}
在我的控制器中,我试图获取数据,
$leads = PropertyLead::with('leadPropertyDetails','user','propertyRatings')
->get();
这里的$ leads变量我得到了我想要的所有数据但是在'propertyRatings'我得到了user_id和其他细节。我还希望获得在propertyRatings对象中使用该user_id对该属性进行评级的名称用户。我在这个查询中真的很困扰。提前谢谢。
答案 0 :(得分:2)
使用nested eager loading syntax加载嵌套关系:
PropertyLead::with('propertyRatings', 'propertyRatings.user', 'leadPropertyDetails', 'user')->get();
然后您可以使用以下内容显示用户名:
@foreach ($leads as $lead)
@foreach ($lead->propertyRatings as $propertyRating)
{{ $propertyRatings->user->name }}
@endforeach
@endforeach