Laravel : 只显示点击的图片,不显示全部
Laravel : get only the clicked image to display, and not all of them
大家哟!
我实际上正在做一个小项目来学习 laravel 这是我努力实现的事情:我希望我点击的图像显示在视图中,但不是全部我的图像(我的图像存储在数据库中)。
我觉得代码很简单,分享给大家:
我使用的控制器:
<?php
namespace App\Http\Controllers;
use App\Models\Images;
use Illuminate\Support\Facades\DB;
class ShowAdults extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$query = DB::table('images')->where('type', 'F');
$images = $query->orWhere('type', 'M')->get();
return view('showimages.chiens',compact('images'));
}
/**
* Display the specified resource.
*
* @param \App\Models\Images $images
* @return \Illuminate\Http\Response
*/
public function show(Images $images)
{
$images = DB::table('images')->select('*')->get();
return view('showimages.displaydog',compact('images'));
}
}
以及显示图像的视图部分:
@foreach($images as $image)
<div class="row">
<div class="col-xs-12 col-sm-12 col-md-12">
<div class="form-group">
<strong>Name:</strong>
{{ $image->name }}
</div>
</div>
<div class="col-xs-12 col-sm-12 col-md-12">
<div class="form-group">
<strong>Details:</strong>
{{ $image->detail }}
</div>
</div>
<div class="col-xs-12 col-sm-12 col-md-12">
<div class="form-group">
<strong>Image:</strong>
<img src="/image/{{ $image->image }}" width="500px">
</div>
</div>
</div>
@endforeach
现在,我知道这个逻辑应该显示我存储在我的数据库中的所有图像,但假设我是这样共享它的,因为我尝试过的所有其他方法都在哪里......混乱大声笑。
你们知道我如何更改循环中的逻辑以便当我单击我的图像时它显示我单击的图像而不是所有存储的图像吗?
非常感谢您抽出宝贵的时间,提前抱歉,因为即使对我来说,经过数小时的搜索我也找不到它,这似乎很愚蠢,我想我需要知道如何更好地搜索东西 ^^' .
好的,所以我所要做的就是将 links 放到这样的图像中:
<a href="/displaydog/{{ $image->id }}" ><img src="/image/{{ $image->image }}" width="140px"></a>
我以为我必须在控制器 and/or 路线中做一些事情,但我只需要将 link 中的路线修改为图像本身。
再次感谢您的帮助,祝大家有个愉快的一天!
编辑:在我看来去掉了 foreach 循环,让它像那样工作
大家哟!
我实际上正在做一个小项目来学习 laravel 这是我努力实现的事情:我希望我点击的图像显示在视图中,但不是全部我的图像(我的图像存储在数据库中)。
我觉得代码很简单,分享给大家:
我使用的控制器:
<?php
namespace App\Http\Controllers;
use App\Models\Images;
use Illuminate\Support\Facades\DB;
class ShowAdults extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$query = DB::table('images')->where('type', 'F');
$images = $query->orWhere('type', 'M')->get();
return view('showimages.chiens',compact('images'));
}
/**
* Display the specified resource.
*
* @param \App\Models\Images $images
* @return \Illuminate\Http\Response
*/
public function show(Images $images)
{
$images = DB::table('images')->select('*')->get();
return view('showimages.displaydog',compact('images'));
}
}
以及显示图像的视图部分:
@foreach($images as $image)
<div class="row">
<div class="col-xs-12 col-sm-12 col-md-12">
<div class="form-group">
<strong>Name:</strong>
{{ $image->name }}
</div>
</div>
<div class="col-xs-12 col-sm-12 col-md-12">
<div class="form-group">
<strong>Details:</strong>
{{ $image->detail }}
</div>
</div>
<div class="col-xs-12 col-sm-12 col-md-12">
<div class="form-group">
<strong>Image:</strong>
<img src="/image/{{ $image->image }}" width="500px">
</div>
</div>
</div>
@endforeach
现在,我知道这个逻辑应该显示我存储在我的数据库中的所有图像,但假设我是这样共享它的,因为我尝试过的所有其他方法都在哪里......混乱大声笑。
你们知道我如何更改循环中的逻辑以便当我单击我的图像时它显示我单击的图像而不是所有存储的图像吗?
非常感谢您抽出宝贵的时间,提前抱歉,因为即使对我来说,经过数小时的搜索我也找不到它,这似乎很愚蠢,我想我需要知道如何更好地搜索东西 ^^' .
好的,所以我所要做的就是将 links 放到这样的图像中:
<a href="/displaydog/{{ $image->id }}" ><img src="/image/{{ $image->image }}" width="140px"></a>
我以为我必须在控制器 and/or 路线中做一些事情,但我只需要将 link 中的路线修改为图像本身。
再次感谢您的帮助,祝大家有个愉快的一天!
编辑:在我看来去掉了 foreach 循环,让它像那样工作