Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
949 views
in Technique[技术] by (71.8m points)

eloquent - add OrderByRaw to newQuery() in laravel

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

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
Waitting for answers

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...