在Laravel Raw Select语句中获取列总和

时间:2019-06-30 13:06:56

标签: php laravel laravel-5

我试图获取在Laravel select语句中返回的记录的总和,但是我似乎无法正确地做到这一点。

我的原始声明如下;

$results = DB::table('polls')->select('polls.id as poll_id', 'poll_votes.vote_count as vote_count', 'poll_options.id as poll_option_id')
    ->join('poll_options','polls.id','=','poll_options.poll_id')
    ->join('poll_votes', 'poll_options.id', '=', 'poll_votes.poll_option_id')
    ->where([['polls.status','=','1'], ['poll_options.status','=','1'],])
    ->get();

我尝试在->select行的最后一个元素之后添加以下内容,但我不断收到错误消息;

DB::raw('sum(poll_votes.vote_count) total_votes')

任何帮助将不胜感激

2 个答案:

答案 0 :(得分:0)

要解决您收到的错误,请在groupBy方法之前使用->get

->groupBy('polls.id');

答案 1 :(得分:0)

您要对Colum求和或对所有记录进行计数:https://laravel.com/docs/5.8/queries#aggregates