Задать вопрос
Vladddosss
@Vladddosss

Как получить самые продаваемые товары Laravel?

Добрый день.

$bestProductIds = Order::get()->map->products->flatten()->map->pivot->mapTogroups( function ($pivot) {
            return [$pivot->product_id => $pivot->count];
        })->map->sum()->sortDesc()->take(3)->keys()->toArray();

        $bestProducts = Product::whereIn('id', $bestProductIds)->get();


В $bestProductIds ложатся айди товаров от большего к меньшему, то есть первый тот айдишник где продаж больше.
Выводит 4, 5, 1

Но при выборке $bestProducts через метод whereIn они выводятся не в том же порядке, а в хронологиском, 1, 4, 5

Как их получить в том порядке, который лежит в массиве $bestProductIds?
  • Вопрос задан
  • 284 просмотра
Подписаться 1 Простой 1 комментарий
Решение пользователя Сергей К ответам на вопрос (2)