在laravel中展示产品的每个单一图像

时间:2017-03-28 16:07:13

标签: php mysql laravel

我有一个用于产品的双表和一个用于文件的双表,文件表具有与一个产品相关的多个图像。

我想只展示每种产品的一张图片,而不是全部。

我制作了这段代码,但是第一张图片的代码是3次!

@foreach($lastProducts as $key => $lastProduct)
@if($key == 1)
<div class="bl-thumb">
<img src="{{url('website/'.$lastProduct->path.$lastProduct->->file}}">
</div>
@endif
@endforeach

我需要在我的页面显示第一张图片,其他页面显示产品的第二张和第三张图片。

这是我想要在其上显示所有图像的视图:

<div class="slim-scroll">
    <div class="item active">
        <a href="" title="" data-lg-img="/website/images/{{$product->image_1}}" class="pic"><img src="/website/images/{{$product->image_1}}" alt="" class="img-responsive" /></a>
    </div>
    <div class="item">
        <a href="javascript:void(0)" title="" data-lg-img="/website/images/{{$product->image_2}}" class="pic"><img src="/website/images/{{$product->image_2}}" alt="" class="img-responsive" /></a>
    </div>
    <div class="item">
        <a href="javascript:void(0)" title="" data-lg-img="/website/images/{{$product->image_3}}" class="pic"><img src="/website/images/{{$product->image_3}}" alt="" class="img-responsive" /></a>
    </div>
    <div class="item">
        <a href="javascript:void(0)" title="" data-lg-img="/website/images/{{$product->image_4}}" class="pic"><img src="/website/images/{{$product->image_4}}" alt="" class="img-responsive" /></a>
    </div>
</div>

在没有foreach

的情况下,它向我展示了类似的东西

enter image description here enter image description here

1 个答案:

答案 0 :(得分:0)

如果我理解正确,您有多个产品,每个产品都有多个图像。如果在第1页上显示产品1图像1,产品2图像1,产品3图像1 ...然后在第2页上显示产品1图像2,产品2图像2,产品3图像2您可以尝试像这样的东西:

第1页:

@foreach($products as $product)
   <div class="bl-thumb">
      <img src="{{url('website/' . $product->images->pull('1')->path . $product->images->pull('1')->file}}">
   </div>
@endforeach

第2页:

@foreach($products as $product)
   <div class="bl-thumb">
      <img src="{{url('website/' . $product->images->pull('2')->path . $product->images->pull('2')->file}}">
   </div>
@endforeach

实际上这个逻辑应该在控制器中。您可以使用get变量来定义您所在的页面,并在呈现页面之前过滤正确的图像。