0

我的 SQL 是这样的:

SELECT
  NAME,
  PLACE,
  ETC,
  format(((sum((AMOUNT * U_PRICE)) - ((sum((AMOUNT * U_PRICE)) * 20) / 100)) * 1.18),2) AS TOTAL_PRICE
FROM
  THE_TABLE

我雄辩的查询是:

theTable::select(
    'NAME',
    'PLACE',
    'ETC',
    'format(((sum((AMOUNT * U_PRICE)) - ((sum((AMOUNT * U_PRICE)) * 20) / 100)) * 1.18),2) AS TOTAL_PRICE'
)
->get();

但它不起作用,因为 Eloquent 将其解释为select name, place, etc, format sum from the_table.

我很想使用DB::raw,但后来它说它没想到对象。

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();

那么,如何在 Eloquent 中使用原始 SELECT 语句?

4

1 回答 1

2

使用这种方式

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();
于 2017-03-08T08:51:57.587 回答