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 - 显示数据库中的第一张图片的主要内容,如果未能解决你的问题,请参考以下文章
swiftui 2.0 图片库 onTapgesture 只显示数组中的第一张图片
如何从 db 中的两个表中路由、获取和显示数据到 laravel 5.2 中的单个网页