douzai6337 2017-06-06 05:21
浏览 97
已采纳

Laravel:调用一个成员函数where()on float

I was trying to find sum of different column using Query Builder. Here is Query :

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

But when i dd() the output i got the above Error.ie,

Call to a member function where() on float

How do i avoid that?

  • 写回答

2条回答 默认 最新

  • doushao6874 2017-06-06 05:30
    关注

    You should call sum at the end of the query:

    DB::table('carts')
       ->where('status', 1)  
       ->where('user_id', $id)
       ->sum(\DB::raw(
           'carts.price 
           + COALESCE(carts.support, 0) 
           + COALESCE(carts.installation, 0)' 
       ));  
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?