2017-07-19 49 views
1

這似乎很容易查詢,但不能將其轉換成laravel查詢。我有表orders有兩列total_usdtotal_gbp。我想總結每一列以獲得頁面上usd和gbp的總數。用查詢與許多列從同一表與laravel查詢

此查詢工作在phpMyAdmin中,我得到了正確的結果

SELECT sum(order_total_usd) as usd, sum(order_total_gbp) as gbp FROM `orders` 

在laravel我已經試過這

$sumOrders = Order::select('sum(order_total_gbp) as gbp, sum(order_total_usd) as usd'); 

當我dd($sumOrders)我有一個真正巨大的輸出幾乎導致瀏覽器凍結。 我的錯誤在哪裏?

回答

2

你可以嘗試這樣的事情

$sumOrders = Order::select(\DB::raw("sum(order_total_gbp) as gbp"), \DB::raw("sum(order_total_usd) as usd"))->get(); 
+0

好吧,謝謝。現在當我dd($ sumOrders ['gbp'])'爲了訪問'gdp'的總和,我得到了'未定義的索引:gdp'。 ($ sumOrders-> gbp)'我得到了'ErrorException:未定義的屬性:'$ sumOrders-> gdp' – Ivan

+0

你可以請'dd($ sumOrders)'並顯示輸出 –

+0

你必須得到'$ sumOrders-> gdp' –

1

您可以使用selectRaw

$sumOrders = Order::selectRaw('sum(order_total_gbp) as gbp, sum(order_total_usd) as usd'); 
+0

謝謝,但再次返回'ErrorException:未定義的屬性:Illuminate \ Database \ Eloquent \ Builder :: $ gbp' – Ivan