Как показать только одно изображение на странице индекса в Laravel 5.6?

Я не собираюсь давать ответ на вопрос, заданный OP, вместо этого я просто расскажу, как можно сделать динамический поворот.

Здесь мы должны использовать динамический sql, изначально извлекаем значения столбца в переменную и передачу переменной внутри динамического sql.

ПРИМЕР

. У нас есть таблица, как показано ниже.

Если нам нужно показать значения в столбце YR как имена столбцов и значения в этих столбцах из QTY, тогда мы можем использовать приведенный ниже код.

declare
  sqlqry clob;
  cols clob;
begin
  select listagg('''' || YR || ''' as "' || YR || '"', ',') within group (order by YR)
  into   cols
  from   (select distinct YR from EMPLOYEE);


  sqlqry :=
  '      
  select * from
  (
      select *
      from EMPLOYEE
  )
  pivot
  (
    MIN(QTY) for YR in (' || cols  || ')
  )';

  execute immediate sqlqry;
end;
/

RESULT

При необходимости вы также можете создать временную таблицу и выполнить запрос выбора в этой временной таблице, чтобы увидеть результаты. Его простое, просто добавьте CREATE TABLE TABLENAME AS в приведенный выше код.

sqlqry :=
'    
  CREATE TABLE TABLENAME AS
  select * from

0
задан banda 13 July 2018 в 11:18
поделиться

4 ответа

Вы можете использовать ограничение вместе с функцией with, например:

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>
0
ответ дан Lovepreet Singh 17 August 2018 в 13:21
поделиться
  • 1
    где я должен поставить Vehicle :: with (['image' = & gt; function ($ query) {return $ query- & gt; limit (1);}]) - & gt; get (); – banda 13 July 2018 в 08:42
  • 2
    Ответ Обновлен! – Lovepreet Singh 13 July 2018 в 08:58
  • 3
    см. мой обновленный вопрос. Мне не нужно показывать только одно изображение таблицы, нужно только одно изображение, связанное с идентификатором автомобиля – banda 13 July 2018 в 09:08

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

@if ($vehicle->images->isNotEmpty())
    <a href="{{route('vechicles.show',$vehicle->id)}}">
        <img src="/images/{{ $vehicle->images->first()->resized_name }}">
    </a>
@endif
0
ответ дан Matei Mihai 17 August 2018 в 13:21
поделиться
  • 1
    то я показываю только одно изображение для всех vehicle_id – banda 13 July 2018 в 08:42

Вы можете использовать функцию laravel first().

$vehicles = Vehicle::->where('vehicle_id', 1)->first();
0
ответ дан nageen nayak 17 August 2018 в 13:21
поделиться
  • 1
    произошла ошибка msg ** Попытка получить свойство не-объекта (View: C: \ Users \ msoft \ Desktop \ kakka\resources \ views \ vechicles \ index.blade.php) 88 – banda 13 July 2018 в 08:49
  • 2
    Обновите ан, пожалуйста, проверьте сейчас и попробуйте! .. – nageen nayak 13 July 2018 в 08:57
  • 3
    см. мой обновленный вопрос. Мне не нужно показывать только одно изображение таблицы, нужно только одно изображение, связанное с идентификатором автомобиля – banda 13 July 2018 в 09:08

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

 $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
1
ответ дан Surya Neupane 17 August 2018 в 13:21
поделиться
  • 1
    Мне нужна петля, потому что у меня есть печать в индексе других изображений vehicle_id? – banda 13 July 2018 в 08:51
  • 2
    см. мой обновленный вопрос. Мне не нужно показывать только одно изображение таблицы, нужно только одно изображение, связанное с идентификатором автомобиля – banda 13 July 2018 в 09:08
  • 3
    просто зацикливать транспортные средства, а не изображение автомобиля – Surya Neupane 13 July 2018 в 09:31
  • 4
    он отображает первое изображение несколько раз – banda 13 July 2018 в 09:58
  • 5
    если он не работает, вам также нужно показать мне свой код контроллера, мне нужно знать, что вы проходите через ваш контроллер к вашему клинку. – Surya Neupane 13 July 2018 в 10:05
Другие вопросы по тегам:

Похожие вопросы: