Мне не удалось добиться желаемого результата всего одним запросом ⇐ 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); }
Я использую 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); }
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Почему я не получаю желаемого результата в Hot Chocolate GraphQL, используя встроенный фильтр?
Anonymous » » в форуме C# - 0 Ответы
- 20 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Я создаю приложение с API Open-AI, но не получаю желаемого результата.
Anonymous » » в форуме Python - 0 Ответы
- 12 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Java: получение желаемого результата печати/вывода с помощью моего собственного метода
Anonymous » » в форуме JAVA - 0 Ответы
- 16 Просмотры
-
Последнее сообщение Anonymous
-