Я не собираюсь давать ответ на вопрос, заданный 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
Вы можете использовать ограничение вместе с функцией 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>
Вы можете просто взять только первое изображение. Но имейте в виду, что вы должны проверить, есть ли какие-либо изображения для этого транспортного средства, иначе будет выбрано исключение.
@if ($vehicle->images->isNotEmpty())
<a href="{{route('vechicles.show',$vehicle->id)}}">
<img src="/images/{{ $vehicle->images->first()->resized_name }}">
</a>
@endif
Вы можете использовать функцию laravel first()
.
$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