从foreach循环中仅获取刀片模板中的第一张图像

时间:2019-04-17 20:50:50

标签: laravel laravel-5 eloquent

我们有两个桌子的房间和房间图像。我在两个表中都使用了关系,并且想从房间图像表中获取第一张图像(用于缩略图)。下面的foreach循环在单个详细信息页面上运行良好。现在我要获取主页的缩略图。

@foreach ($room->tbl_roomimages as $single_img)
    <img src="/storage/cover_images/{{$single_img->room_image}}" alt="">
@endforeach

我正在将hasMany关系用于房间模型中的房间图像。

2 个答案:

答案 0 :(得分:4)

您可以在模型内部创建一个函数以获取第一张图像。

示例:

public function getFirstImageAttribute()
{
    return $this->hasOne('RoomImageModel');
}

并使用该功能获取房间的第一张图像。

<img src="/storage/cover_images/{{ $room->firstImage }}" alt="">

答案 1 :(得分:1)

谢谢! 虽然我得到了这样的第一张图片。

@foreach($room->tbl_roomimages as $single_img)
    @if($room->tbl_roomimages->first()==$single_img)
        {{$single_img->room_image}} 
    @endif 
@endforeach