我的评论模型与Blog和Hotel有变体的关系,这里我正在获取有关酒店的所有用户评论,现在如何访问刀片中的名称,描述等酒店详细信息?
$hotelComments = Comment::whereHasMorph(
'commentable',
Hotel::class,
)->whereUserId(\Auth::id())->get();
刀片:
@foreach ($hotelComments as $hc)
<tr>
<td class="">{{ $hc->body }}</td>
<td class="">{{ $hc-> ??? hotel name ??? }}</td>
</tr>
@endforeach
博客和酒店:
public function comments(){
return $this->morphMany(Comment::class, "commentable");
}
评论模型:
public function commentable(){
return $this->morphTo();
}
答案 0 :(得分:0)
您可以在评论模型上使用属属关系
public function hotel()
{
return $this->belongsTo(Hotel::class,'commentable_id');
}
在您的控制器中:
public function index(){
$comments = Comments::where('commentable_type','App\Hotels')->with('hotel')->get();
foreach($comments as $comment){
dd($comment->hotel)
}
}