【问题标题】:show article first image from database as cover image将数据库中的文章第一张图片显示为封面图片
【发布时间】:2019-04-10 10:07:28
【问题描述】:

我在 Articles 表中有 images 字段,我会将所有图像作为数组保存到该字段中:images/image1.jpg,images/image2.jpg, ...

在我的索引页面中,我正在获取所有文章并在主页中显示它们:

$articles = \App\Article::all();

我只想从每篇文章中加载第一张图片作为封面图片并显示,但图片字段是字符串。我该怎么办?

       @foreach($articles as $article)
        <div class="article_wrapper">
            <div class="article_body">
                    @foreach($article->images as $image)
                        {{ $image }}
                    @endforeach
            </div>
        </div>
      @endforeach

【问题讨论】:

    标签: php arrays json laravel laravel-5


    【解决方案1】:

    仅使用路线:

    Route::any('/article/images/{id}', ['as' => 'article.image', function($id) {
    
        $article = Article::find($id);
    
        $images = explode(',',$article->images);
    
        return Response::download($images[0]);
    }]);
    

    使用控制器:

    namespace MyNamespace;
    
    use Illuminate\Routing\Controller;
    use App\Article;
    use Response;
    
    class ImagesController extends Controller
    {
        public function show($id)
        {
            $article = Article::find($id);
    
            $images = explode(',',$article->images);
    
            return Response::download($images[0]);
        }
    }
    

    您的路线:

    Route::get('/article/images/{id}', ['as' => 'article.image', 'uses' => 'MyNamespace\ImagesController@show']);
    

    那么在你看来:

    <img src="{{route('article.image', ['id' => $article->getKey()])}}" />
    

    这样您的视图将如下所示:

    @foreach($articles as $article)
        <div class="article_wrapper">
            <div class="article_body">
                <img src="{{route('article.image', ['id' => $article->getKey()])}}" />
            </div>
        </div>
    @endforeach
    

    如果您没有在图像字段中保存完整路径,请为其添加前缀:

    return Response::download('C:\downloadpath\' . $images[0]);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-03-25
      • 2018-01-04
      • 1970-01-01
      • 2021-12-14
      • 2011-08-25
      • 2012-07-29
      • 1970-01-01
      相关资源
      最近更新 更多