我正在使用Laravel 4.2
我有两个表“问题”和“投票”
在我的问题表中,我有像
id
,id_user
,subject
,body
。在我的投票表中,我有像
这样的列id
,id_question
,id_user
,likes
,dislikes
。用户只能投票一次,因此每个用户的喜欢和不喜欢的值为0-1,id_question
有问题表中问题的id
。现在你想根据每个问题的投票数按降序排序问题。
如何总结投票并对其进行排序。这是我尝试过的,但它只显示了第一个问题的计数
$questions=Question::leftJoin('votes', 'questions.id', '=', 'votes.id_question')
->groupBy('questions.id')->sum('likes');
return json_encode($questions);
获得计数后,我可以使用orderBy('likes','DESC')->get();
按降序排序
但如何得到喜欢的总和?
答案 0 :(得分:1)
试试这个:
$questions=Question::leftJoin('votes', 'questions.id', '=', 'votes.id_question')
->select(DB::raw('questions.id, SUM(votes.likes) as likes'))
->groupBy('questions.id')
->get();