Reputation: 8963
My SQL is something like this:
SELECT
NAME,
PLACE,
ETC,
format(((sum((AMOUNT * U_PRICE)) - ((sum((AMOUNT * U_PRICE)) * 20) / 100)) * 1.18),2) AS TOTAL_PRICE
FROM
THE_TABLE
And my Eloquent query is:
theTable::select(
'NAME',
'PLACE',
'ETC',
'format(((sum((AMOUNT * U_PRICE)) - ((sum((AMOUNT * U_PRICE)) * 20) / 100)) * 1.18),2) AS TOTAL_PRICE'
)
->get();
But it doesn't work because Eloquent interprets it something like select name, place, etc, format sum from the_table
.
I have treid to use DB::raw
but then it says that it didn't expect object.
theTable::select(
'NAME',
'PLACE',
'ETC',
DB::raw('format(((sum((AMOUNT * U_PRICE)) - ((sum((AMOUNT * U_PRICE)) * 20) / 100)) * 1.18),2) AS TOTAL_PRICE')
)
->get();
So, how can I use raw SELECT statement in Eloquent?
Upvotes: 0
Views: 2255
Reputation: 2044
Use this way
DB::table('THE_TABLE')
->select(DB::raw('
NAME,
PLACE,
ETC,
format(((sum((AMOUNT * U_PRICE)) - ((sum((AMOUNT * U_PRICE)) * 20) / 100)) * 1.18),2) AS TOTAL_PRICE
'))
->get();
Upvotes: 2