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 продуктов, опять считаем только по ним.