0

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?

ilhan
  • 8,700
  • 35
  • 117
  • 201

1 Answers1

2

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();
Abdullah Al Shakib
  • 2,034
  • 2
  • 15
  • 16