Laravel eloquent запрос с дополнительным полем

Есть метод который получает продукты через сервис, у которых есть связь с моделью SmartRecommendations:

private function getUserSmartRecommendations(Request $request)
{
    SmartRecommendation::generateSmartRecommendation();

    return ProductService::getProductQuery($request)
        ->whereHas('smartRecommendations', $smFilter = function ($q) {
            $q->where('user_id', Auth::user()->getKey());
            $q->where(function ($q) {
                if (Store::activeEqMain()) {
                    $q->where('store_id', null);
                } else {
                    $q->where('store_id', Store::getActive()->id);
                    $q->orWhere('store_id', null);
                }
            });
        })
        ->with(['smartRecommendations' => $smFilter])
        ->get();
}

В базе данных в таблице products есть поле sales_param которое обозначает денежную уходимость продукта.

Мне нужно что бы запрос с каждым продуктом возвращал дополнительное поле place_in_catalog которое должно быть числом продуктов у которых sales_param больше чем у этого продукта в контексте данного запроса. Пожалуйста, подскажите как это можно сделать?

P.S. В контексте данного запроса значит что, продукты у которых sales_param больше, нужно считать только по тем продуктам которые попали в запрос. К примеру пользователь выбрал категорию пришло 100 продуктов считаем по ним, пользователь выбрал какой то хэш-тэг в этой категории пришло 50 продуктов, опять считаем только по ним.


Ответы (0 шт):