簡體   English   中英

連接兩個表並添加具有相同列ID的數據

[英]Join two tables and add the data with the same column id

我正在使用Laravel 4.2
我有兩個表格“問題”和“投票”
在我的問題表中,我有類似

  • id
  • id_user
  • subject
  • body

在我的投票表中,我有類似

  • id
  • id_question
  • id_user
  • likes
  • dislikes

用戶只能投票一次,因此每個用戶的喜歡和不喜歡的值為0-1, id_question具有問題表中問題的id 現在,U要根據對每個問題投的票數以降序對問題進行排序。

我如何對選票進行匯總和排序。 這是我嘗試過的,但僅顯示第一個問題的數量

$questions=Question::leftJoin('votes', 'questions.id', '=', 'votes.id_question')
            ->groupBy('questions.id')->sum('likes');

            return json_encode($questions);

獲得計數后,可以使用orderBy('likes','DESC')->get();以降序對它們進行排序orderBy('likes','DESC')->get(); 但是如何獲得喜歡的總和?

嘗試這個:

$questions=Question::leftJoin('votes', 'questions.id', '=', 'votes.id_question')
    ->select(DB::raw('questions.id, SUM(votes.likes) as likes'))
    ->groupBy('questions.id'‌​)
    ->get();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM