Мне не удалось добиться желаемого результата всего одним запросомPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Гость
 Мне не удалось добиться желаемого результата всего одним запросом

Сообщение Гость »


Я использую Laravel Eloquent для захвата видео в определенном порядке.

Можно ли добиться того же результата всего одним запросом?

Случайный порядок необязателен.

Возможно, можно получить видео в указанном порядке (автомобили, мотоциклы, грузовики) с помощью одного запроса.
связанная с защищенной функцией (Видео $video): Коллекция { $nVideos = 6; $carVideos = Video::whereNot('id', $video->id) ->whereHas('cars', function (Builder $q) use ($video) { $q->whereIn('id', $video->cars->pluck('id')->toArray()); }) ->inRandomOrder() ->взять($nVideos) -> получить(); if ($carVideos->count() >= $nVideos) { вернуть $carVideos; } $bikeVideos = Video::whereNot('id', $video->id) ->whereHas('bikes', function (Builder $q) use ($video) { $q->whereIn('id', $video->bikes->pluck('id')->toArray()); }) ->inRandomOrder() ->взять($nVideos) -> получить(); $merged = $carVideos->merge($bikeVideos); if ($merged->count() >= $nVideos) { вернуть $merged; } $truckVideos = Video::whereNot('id', $video->id) ->whereHas('грузовики', функция (Builder $q) use ($video) { $q->whereIn('id', $video->trucks->pluck('id')->toArray()); }) ->inRandomOrder() ->взять($nVideos) -> получить(); вернуть $merged->merge($truckVideos); }
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»