Laravel 5.2 - 显示数据库中的第一张图片

Posted

技术标签:

【中文标题】Laravel 5.2 - 显示数据库中的第一张图片【英文标题】:Laravel 5.2 - show first image from database 【发布时间】:2016-03-25 15:35:42 【问题描述】:

我的数据库中有表photos,用于存储我的图像。在一个视图中,用户可以看到所有这些,但在另一个视图中,我只想看到一个图像,第一个。如何设置它只显示第一张图像,而不是全部?

这是我的代码。

查看

@foreach($business->photos as $photo)

    <img src=" url($photo->thumbnail_path) " class="img-thumbnail">

@endforeach

配置文件控制器

public function profile($id)

  $user = User::findOrFail($id);

  return view('business.profile', compact('user'));

Photo.php

public function business()

    return $this->belongsTo('App\Business');



public function baseDir()

    return 'images/';


public function setNameAttribute($name)

    $this->attributes['name'] = $name;

    $this->path = $this->baseDir() . '/' . $name;

    $this->thumbnail_path = $this->baseDir() . '/tn' . $name;

照片控制器

public function store($id, AddPhotoRequest $request)

  $business = Business::fidOrFail($id);

  $photo = $request->file('photo');

  (new AddPhotoToBusiness($business, $photo))->save();

【问题讨论】:

你能展示你的模型和控制器吗? 顺便可以使用 Model::where("your query",condition,"" )->first(); 在个人资料上只想显示第一张照片,但在其他人仍然可以选择显示所有图像。 请发布您的完整代码 你可以使用 $business->photos->first();它没有经过测试,但应该可以工作 【参考方案1】:

解决方案

@if(count($business->photos))
    <img src=" url($business->photos[0]->thumbnail_path) " class="img-thumbnail" >
@else
    <img src=" URL::asset('/img/no-image.png') " class="img-responsive" >
@endif

【讨论】:

【参考方案2】:

在你的视图中你得到一个数组。如果你在 foreach 中使用 first() 你会得到那个错误。

例如:

@foreach($business->photos as $photo)
    <img src=" url($photo->thumbnail_path) " class="img-thumbnail"
         >
@endforeach

->here $business->photos holding an array.in that if you use $business->photos->first() .it shows error

所以在视图中使用 php 标签

<?php  $x=$business->photos->first();  ?>

如果你使用它,那么它只显示一行

然后绑定 $x 变量中存在的您需要的值。

【讨论】:

以上是关于Laravel 5.2 - 显示数据库中的第一张图片的主要内容,如果未能解决你的问题,请参考以下文章

kali Linux 中使用nmap。

swiftui 2.0 图片库 onTapgesture 只显示数组中的第一张图片

如何从 db 中的两个表中路由、获取和显示数据到 laravel 5.2 中的单个网页

一张图laravel - 防范CSRF攻击

从 db 获取数据到 laravel 5.2 中的视图的问题

在 Vue JS 中的表格内显示图像以及基本 url (Laravel 5.2)