我有一個主要查詢將按照以下方式運行。我必須檢查一個條件,如果條件滿足,它將添加一個語句與現有的查詢。但它不能以正確的方式工作意味着我無法使用現有的函數運行orderby函數?爲什麼這個或如何解決這個問題?查詢生成器:orderBy在羣組之後不工作
$query = DB::table('users')
->join('products','products.auth_id','users.id')
->Join('reviews','products.id','reviews.product_id')
->select('products.*','users.avatar',DB::raw('(sum(rating)/count(user_id)) as rating'))
->where('products.status','=','1')
->groupBy('products.id')
->latest();
if($request->get('dropdown')!='0' && $request->get('dropdown')=='desc')
{
$query->orderBy('products.regular_price', 'desc') ;
}
$products = $query->get();
您的查詢似乎有問題。你能編輯你的問題,並顯示你打算的原始MySQL查詢,以及預期的輸出嗎? –
我懷疑從產品表開始這個查詢,不是用戶表會有所幫助。但我看到你依靠MySQL的「怪癖」(允許刪除「group by」子句)。在最近的版本中,'group by'奇怪的默認行爲已經發生了變化,現在比以前更符合標準,因此任何具有「group by」刪節的查詢都可能因此而失敗。 –