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
我在数据库的 "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