Laravel - фильтрация по максимальной цене по столбцу в joinque - PullRequest
0 голосов
/ 07 ноября 2019

Как я могу отфильтровать максимальное значение поля 'цена' в другой таблице?

Текущий код:

$query = Product::join('variants', 'variants.product_id', '=', 'products.id');

$query->select('products.*',  DB::raw("MAX(variants.price) as max_variant_price"));

if($params['priceFrom'] !== false) {
    $query->whereRaw('max_variant_price >= ' .$params['priceFrom']);
}
if($params['priceTo'] !== false) {
    $query->whereRaw('max_variant_price <=' . $params['priceTo']);
}

Но появляется следующая ошибка: Column not found: 1054 Unknown column 'max_variant_price' in 'where clause'.

1 Ответ

0 голосов
/ 07 ноября 2019
$getMaxValue= Product::join('variants.product_id', '=', 'products.id')-> 
(select('name','type', DB::raw('max(variants.total) as total'))->
where(total, '>=' , $request->price)->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...