我试图获取在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')
任何帮助将不胜感激
答案 0 :(得分:0)
要解决您收到的错误,请在groupBy
方法之前使用->get
:
->groupBy('polls.id');
答案 1 :(得分:0)
您要对Colum求和或对所有记录进行计数:https://laravel.com/docs/5.8/queries#aggregates