I making app to filters products
I want to add this query chunk to my newQuery: $products = $products-> newQuery();
Example:
$products = $products->newQuery();
if ($request->has('brand') && !empty($brand)) {
$products->where('brand', '=', $brand);
}
if ($request->has('size') && !empty($size)) {
$products->whereHas('stocks', function($query) use ($size) {
$query->where('size', '=', $size);
});
}
Now i want to add this query to select the best sellers
$best_sellers = OrderItem::select('product_id')->groupBy('product_id')->orderByRaw('SUM(quantity) DESC')->limit(2)->get();
I dont know how integrate it in NewQuery(), I am using this to concatenate multiple queries.
I tried this:
$products->whereHas('order_items', function($query) {
$query->select('product_id')->groupBy('product_id')->orderByRaw('SUM(quantity) DESC');
});
But doesnt worked
Any idea?
question from:
https://stackoverflow.com/questions/65860943/add-orderbyraw-to-newquery-in-laravel 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…