我在Web应用程序中使用Laravel 5.6
和mysql
。在我的应用程序中,我有一个名为vehicles
的表,如下所示,
id name number adtype
----------------------------
1 car 123 1
2 van 256 0
3 car 248 0
4 van 159 1
5 car 158 1
etc
我正在VehicleController
上显示以下数据
public function index(){
$vehicles = Vehicle::with('uploads')->get();
return view('vehicles.index')->withVehicles($vehicles);
}
上传是相关的表格,其中包含车辆图像
我的index.blade.php
就是这样
<div class="col-md-7 col-md-offset-1">
@forelse( $vehicles as $vehicule )
@if( $vehicule->uploads->count() > 0 )
<a href="{{ route('vehicles.show', $vehicule->id) }}">
@php
$upload = $vehicule->uploads->sortByDesc('id')->first();
@endphp
<div style="border-style: solid; color: black; ">
<img src="/images/{{ $upload->resized_name }}" height="150" width="250"></a>
@endif
</div>
工作正常。但现在我需要在vechicles
表中与广告类型值相关的突出显示广告为1。怎么办?
答案 0 :(得分:1)
尝试
<div class="col-md-7 col-md-offset-1">
@forelse( $vehicles as $vehicule )
@if( $vehicule->uploads->count() > 0 )
<a href="{{ route('vehicles.show', $vehicule->id) }}">
@php
$upload = $vehicule->uploads->sortByDesc('id')->first();
@endphp
@if($vehicule->adtype == 1)
<div style="border-style: solid; color: black; ">
<img src="/images/{{ $upload->resized_name }}" height="150" width="250"></a>
</div>
@else
<div style="border-style: solid; color: blue; ">
<img src="/images/{{ $upload->resized_name }}" height="150" width="250"></a>
</div>
@endif
@endif
</div>
答案 1 :(得分:1)
我不确定自己的问题是否正确,但是仅使用if来确定adtype
是否等于1
并处理div
的类的问题在哪里?或样式属性不同?
<div style="color: {{ $vehicule->adtype === 1 ? 'black' : 'blue' }}">
除此之外:您不应该懒加载模板中的内容;这不是模板的目的,这是控制器的任务。将eager loading与proper relation一起使用。
注意:您也可以-或应该-type cast属性也可以等同于其原始用途并防止误导性比较。
在您的情况下,adtype
看起来像布尔值,因此您可以将其添加到模型的$cast
属性中:
'adtype' => 'boolean',
答案 2 :(得分:0)
我不确定我是否理解您的所有代码,但是您会想要这样的东西:
在您的CSS中:
<style>
.highlight {
... whatever ...
}
</style>
然后,在您的刀片中
@if( $vehicule->adtype == 1 )
<span class="highlight"> ...... whatever ..... </span>
@endif
或者,如果您要内联,
<span class="{{ ($vehicule->adtype == 1) ? 'highlight' : '' }}">