I have a Sale model with price, quantity and status attributes
I want to return the total income from the sales table (the query below returns the result I want)
SELECT SUM(case when status = 1 then price * quantity when status = 2 then price * quantity * -1 else 0 end) as total
FROM sales;
I tried using select(DB::raw()) but it didn't return a number since I couldn't use the sum() function
CodePudding user response:
Suppose you have a Sale model, try something like :
$result = Sale::select(DB::raw('SUM(case when status = 1 then price * quantity when status = 2 then price * quantity * -1 else 0 end) as total'))
->get();
