Как выделить отображение записей по значениям таблицы? - PullRequest
0 голосов
/ 08 октября 2018

Я использую 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);
}

загрузка связана с таблицей, содержащейизображения транспортных средств

и My 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>

, работает нормально.но теперь мне нужно выделить рекламу, которая относится к значению типа объявления как 1 из таблицы vechicles.как это сделать?

Ответы [ 3 ]

0 голосов
/ 08 октября 2018

Я не уверен, что понимаю весь ваш код, но вы захотите что-то вроде этого:

В вашем css:

<style>
.highlight {
   ... whatever ...
}
</style>

А затем в вашем блейде,

@if( $vehicule->adtype == 1 )
<span class="highlight"> ...... whatever ..... </span>
@endif

Или, если хотите, встроенный,

<span class="{{ ($vehicule->adtype == 1) ? 'highlight' : '' }}">
0 голосов
/ 08 октября 2018

Я не совсем уверен, правильно ли я понял ваш вопрос, но где проблема в том, чтобы просто использовать if, чтобы определить, равняется ли adtype 1, и по-разному обрабатывать атрибут класса или стиля div?

<div style="color: {{ $vehicule->adtype === 1 ? 'black' : 'blue' }}">

Кроме того: Вы не должны лениво загружать что-либо в шаблон;это не цель шаблона, это задача для контроллера.Вместо этого используйте нетерпеливую загрузку с правильным отношением .

Примечание: Вы можете - или должны - также печатать атрибуты , чтобы соответствовать их первоначальному назначениюи предотвратите вводящие в заблуждение сравнения.

В вашем случае adtype выглядит как логическое значение, поэтому вы бы добавили это в свойство $cast вашей модели:

'adtype' => 'boolean',
0 голосов
/ 08 октября 2018

попробуй

 <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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...