首页 > 解决方案 > Laravel 5.6 如何在一篇文章中显示几张图片

问题描述

下午好,

我在博客上工作,我有文章的详细信息,想展示几张图片。

我现在得到的:

如您所见,我正在获取内容和内容图片之后。这里也是刀片的代码。

<div class="container">
      @foreach($articles as $article)
        <article>
          <h1 class="title is-1"><a href="{{route('show', $article->id)}}">{{$article->title}}</a></h1>
            @foreach($article->images as $image)
              <figure class="image is-128x128">
                <img src="{{$image->path}}" alt="{{$image->title}}">
              </figure>
            @endforeach
          <p>{{$article->content}}</p>
        </article>
      @endforeach
    </div>

因为我得到一个对象,所以我无法拆分图片。

.

标签: laravelobjectlaravel-blade

解决方案


很难弄清楚你想要什么,但我很确定我终于得到了这个问题

你想做的是这样的:

<div class="container">
  @foreach($articles as $article)
    <article>
      <h1 class="title is-1"><a href="{{route('show', $article->id)}}">{{$article->title}}</a></h1>
      @if(count($article->images) > 0)
        <figure class="image is-128x128">
          <img src="{{$article->images->first()->path}}" alt="{{$article->images->first()->title}}">
        </figure>
      @endif
      <p>{{$article->content}}</p>
      @if(count($article->images) > 1)
        @foreach($article->images->slice(1) as $image)
          <figure class="image is-128x128">
            <img src="{{$image->path}}" alt="{{$image->title}}">
          </figure>
        @endforeach
      @endif
    </article>
  @endforeach
</div>

这不仅会为您提供标题 > 图片 1 > 内容 > 剩余图片,还可以确保您仅在实际有可用图片时才打印图片。$article->images->slice(1)秒内将@if()确保我们不会第二次使用第一个图像。


推荐阅读