2017-06-06 16 views
0

クエリビルダーを使用して異なる列の合計を検索しようとしていました。ここ は、クエリは次のとおりです。Laravel:浮動小数点のメンバー関数を呼び出す

DB::table('carts')     
      ->sum(\DB::raw('carts.price+COALESCE(carts.support,0)+COALESCE(carts.installation,0)')) 
      ->where('status','=',1) 
      ->where('user_id','=',$id); 

しかし、私はError.ie上になった出力をdd()、どうすればよいフロート

上の()メンバ関数へ

コール私はそれを避ける?

+1

DD($ idで、あなたの$ IDを確認してくださいあなたのクエリを作成 後にこれらの方法のいずれかを呼び出すことができます)それは整数かどうか? –

+1

' - $ order-> price = DB :: table( 'carts')'が完全ではない ' - >'はタイプミスですか? –

+0

$ idは大丈夫です。整数値は@Sagar – User57

答えて

1

あなたは、クエリの最後にsumを呼び出す必要があります:

DB::table('carts') 
    ->where('status', 1) 
    ->where('user_id', $id) 
    ->sum(\DB::raw(
     'carts.price 
     + COALESCE(carts.support, 0) 
     + COALESCE(carts.installation, 0)' 
    )); 
0

Laravel doc

クエリビルダはまた、 countmaxminavgなどの集計の様々な方法を提供し、およびsum。あなたが他の句で、これらの方法を組み合わせることができる、もちろん

$users = DB::table('users')->count(); 

$price = DB::table('orders')->max('price'); 

$price = DB::table('orders') 
       ->where('finalized', 1) 
       ->avg('price'); 
関連する問題