2017-03-03 44 views
0

私のテーブルのintフィールドの合計を取得しようとするのはかなり簡単ですが、残念ながらLaravel、MySQLまたはExcelのどちらを使用しても別の結果が得られません。Laravel合計列データベースEloquent

Laravel 5.4は私に与え: 合計が得られます。

Select sum(field_name) from table; 

そしてデータベースにインポートする前に、Excelシートからのデータ:

Table::sum('field_name'); 

MySQLは私にを与えます私

アイデア?合計を実行する前に整数にキャストしようとしましたが、機能しません。 すべての数字はかなり大きいですが、カンマまたはドットは含まれていません。値の

例としては、私は合計する必要があります:それはまだあなたに間違った結果が得られた場合

17906774 
99630157 
28581131 

159551532 
20312892 
668928885 
+0

あなたがしなければあなたは何を得るのですかlaravelのすべての行のforeach合計? – ak93

答えて

1
$query = YourModel::query(); 
$query->withCount([ 
'activity AS yoursum' => function ($query) { 
     $query->select(DB::raw("SUM(amount_total) as paidsum"))->where('status', 'paid'); 
    } 
]); 
+0

このコードスニペットをお寄せいただき、ありがとうございます。適切な説明(* meta.stackexchange.com/q/114762)は、*なぜ*これが問題の良い解決策であるかを示すことで長期的な価値を向上させ、将来の読者にとって他の同様の質問。あなたの前提を含め、あなたの答えを[編集]して説明を加えてください。 –

1

は多分誰かがあなたを与えるのを待つ、

$result = DB::table(tablename) 
->selectRaw('sum(column)') 
->get(); 

で試してみてください(時々空のセルが含まれています)より良い答え。これは私が考えることができるすべてです。

あなたにlaravel集約関数SUMを使用することができます
+0

これは私にSQLクエリと同じ結果を与えます:select sum(field_name)from table; – Andrew

0

:あなたが従うことができます詳細については

$result = DB::table('table_name') 
       ->select(DB::raw('SUM(field_name) as total_field_name')) 
       ->get(); 

https://laravel.com/docs/5.4/queries

おかげ

+0

残念ながら結果は変わりません。 – Andrew