Laravel 5.3 如何将数据库中的多个图像显示到 blade 视图?

how to display multiple images from database to blade view, by Laravel 5.3?

我在数据库的 "Images" 列中有多个图像,我需要显示所有图像:

@foreach(explode(',', $posts->images) as $images)
<div class="col-lg-2 col-md-2 col-sm-2">
    <a href="{{ URL::to('img/offers/'.$images)}}"
       class="portfolio-box">
        <img src="{{ URL::to('img/offers/'.$images)}}"
             class="img-responsive" alt="--">
        <div class="portfolio-box-caption">
            <div class="portfolio-box-caption-content">
            <span class="glyphicon glyphicon-zoom-in"
                  style="font-size: 80px"></span>
            </div>
        </div>
    </a>
</div> 
@endforeach

但它不起作用,因为 link 显示为:

http://localhost:8000/img/offers/["149939592986Dynamic-Web.png"

下一张图片如下:

http://localhost:8000/img/offers/"149938949479Static-Web.png"]

现在,我该怎么做才能显示所有图像?

我在 BD 中的专栏显示为数组:

["149938949418Dynamic-Web.png","149938949479Static-Web.png"]

谢谢。

您有 json 编码数据,因此您必须解码。所以, 您可以使用 json_decode() 将图像文件名数组提取为:

 $images = json_decode($posts->images,true);

之后你可以使用简单的for循环来显示所有图像,

 @foreach($images as $image)
     <div>
          <--! Write code to display image -->
     </div>
 @endforeach

您的示例不起作用的原因是因为您正在分解 json 字符串。您需要做的是简单地正确解码它,如下所示:

@foreach(json_decode($posts->images, true) as $images)
<div class="col-lg-2 col-md-2 col-sm-2">
    <a href="{{ URL::to('img/offers/'.$images)}}"
       class="portfolio-box">
        <img src="{{ URL::to('img/offers/'.$images)}}"
             class="img-responsive" alt="--">
        <div class="portfolio-box-caption">
            <div class="portfolio-box-caption-content">
            <span class="glyphicon glyphicon-zoom-in"
                  style="font-size: 80px"></span>
            </div>
        </div>
    </a>
</div> 
@endforeach

这将遍历所有图像并显示正确的字符串,例如:

http://localhost:8000/img/offers/149939592986Dynamic-Web.png