我有一个叫“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'中,我得到了用户id和其他详细信息。我还想得到在propertyRatings对象中使用该用户id对该属性进行评级的名称用户。我在这个问题上真的很困惑。提前谢谢。
最佳答案
使用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
关于php - 如何在 Eloquent 模型中使用外键获取数据?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47962122/