Php 如何在Laravel 5.6的索引页中仅显示一个图像?
我的表中有多个与Php 如何在Laravel 5.6的索引页中仅显示一个图像?,php,laravel-5,Php,Laravel 5,我的表中有多个与车辆id相关的图像,如下所示 image table id fileName vehicle_id 1 1.jpg 1 2 2.jpg 1 3 3.jpg 1 4 4.jpg 1 5 28.png 2 5
车辆id
相关的图像,如下所示
image table
id fileName vehicle_id
1 1.jpg 1
2 2.jpg 1
3 3.jpg 1
4 4.jpg 1
5 28.png 2
5 28.png 2
6 29.png 2
7 30.png 3
8 31.png 3
9 56.png 3
使用VehicleController
$vehicles = Vehicle::with('image')->get();
return view('vechicles.index')->withVehicles($vehicles);
现在,这些图像显示在vehicles/index.blade.php文件中
@foreach($vehicle->images as $image)
<tr>
<td><a href="{{route('vechicles.show',$vehicle->id)}}"><img src="/images/{{ $image->resized_name }}"></a></td>
</tr>
@endforeach
更新了完整刀片服务器
@extends('layouts.app')
@section('content')
<div class="container">
<div class="row">
<div class="col-md-10 col-md-offset-1">
@if($vehicles)
@foreach($vehicles as $vehicle)
{{$vehicle->district}}
{{$vehicle->town}}
{{$vehicle->brand}}
{{$vehicle->model}}
<hr>
@foreach($vehicle->images as $image)
<tr>
<td><a href="{{route('vechicles.show',$vehicle->id)}}"><img src="/images/{{ $image->resized_name }}"></a></td>
</tr>
@endforeach
@endforeach
@endif
</div>
</div>
</div>
@endsection
@extends('layouts.app'))
@节(“内容”)
@若有(车辆)
@foreach($车辆作为$车辆)
{{$vehicle->district}
{{$vehicle->town}
{{$vehicle->brand}
{{$vehicle->model}
@foreach($vehicle->图像为$image)
@endforeach
@endforeach
@恩迪夫
@端部
您可以使用limit和功能,如:
Vehicle::with(['image' => function($query) {
return $query->limit(1);
}])->get();
return view('vechicles.index')->withVehicles($vehicles);
并编写代码将图像显示为:
<tr>
<td><a href = "{{route('vechicles.show',$vehicle->id)}}"><img src = "/images/{{ $vehicle->images[0]->resized_name }}"></a></td>
</tr>
您只需拍摄第一张图像即可。但请注意,您必须验证是否存在该车辆的任何图像,否则将引发异常
@if ($vehicle->images->isNotEmpty())
<a href="{{route('vechicles.show',$vehicle->id)}}">
<img src="/images/{{ $vehicle->images->first()->resized_name }}">
</a>
@endif
@if($vehicle->images->isNotEmpty())
@恩迪夫
您可以使用laravelfirst()
函数
$vehicles = Vehicle::->where('vehicle_id', 1)->first();
你现在正在浏览每一张图片。您只需使用以下代码检索图像:
$vehicle->images()->first()->resized_name
因此,显示图像的代码为:
@extends('layouts.app')
@section('content')
<div class="container">
<div class="row">
<div class="col-md-10 col-md-offset-1">
@if($vehicles)
@foreach($vehicles as $vehicle)
{{$vehicle->district}}
{{$vehicle->town}}
{{$vehicle->brand}}
{{$vehicle->model}}
<hr>
<tr>
<td>
<a href="{{route('vechicles.show',$vehicle->id)}}"><img
src="/images/{{ $vehicle->images()->first()->resized_name
}}"></a>
</td>
</tr>
@endforeach
@endif
</div>
</div>
</div>
@endsection
@extends('layouts.app'))
@节(“内容”)
@若有(车辆)
@foreach($车辆作为$车辆)
{{$vehicle->district}
{{$vehicle->town}
{{$vehicle->brand}
{{$vehicle->model}
@endforeach
@恩迪夫
@端部
您只需显示刀片服务器中的第一个阵列图像,如下所示:
@foreach ($vehicles as $v)
<img src = "/images/{{ $v->images[0]->resized_name }}"
@endforeach
(or) we can also use the laravel first() function to display the first record image from the collection
@foreach ($vehicles as $v)
<img src = "/images/{{ $v->images->first()->resized_name }}"
@endforeach
@foreach($v车辆)
图像[0]->已调整大小的_name}”
@endforeach
(或者)我们也可以使用laravel first()函数来显示集合中的第一个记录图像
@foreach(车辆为$v)
图像->第一个()->调整大小的\u name}”
@endforeach
我应该把Vehicle::with(['image'=>函数($query){return$query->limit(1);}])->get()放在哪里;答案更新!请看我更新的问题。我不需要只显示表的一个图像只需要一个与车辆相关的图像\u I出现此错误消息**试图获取非对象的属性(视图:C:\Users\msoft\Desktop\kakka\resources\views\vechicles\index.blade.php)88更新ans,请立即检查并尝试。。!请看我更新的问题。我不需要只显示表中的一个图像只需要一个与车辆id相关的图像我需要循环,因为我在索引中打印了其他车辆id图像?请查看我的更新问题。我不需要只显示表的一个图像只需要一个与车辆相关的图像只需循环通过车辆而不是车辆图像它正在多次显示第一个图像如果它不工作,那么您也需要向我显示您的控制器代码,我需要知道您正在通过控制器向刀片传递什么。
@foreach ($vehicles as $v)
<img src = "/images/{{ $v->images[0]->resized_name }}"
@endforeach
(or) we can also use the laravel first() function to display the first record image from the collection
@foreach ($vehicles as $v)
<img src = "/images/{{ $v->images->first()->resized_name }}"
@endforeach