1
在我的Laravel 5.3應用程序中,投票表具有淨投票欄。我希望根據網絡投票找到視頻的排名。我想展示如下列表中的排名。我知道sql @raw方法。但是,我想使用Laravel方法。因爲還有一些其他的表與這個用戶表結合在一起,還有一些其他的短接也需要完成。如何在laravel中獲得排名
視頻表:
id | net_votes| video_id |
------ | -------: |:-------: |
1 | 5 | 1 |
2 | 11 | 2 |
3 | 3 | 1 |
4 | 6 | 3 |
5 | 5 | 2 |
我想這樣
id | net_votes| rank
------ | -------: |:----:
2 | 11 | 1
4 | 6 | 2
1 | 5 | 3
5 | 5 | 4
3 | 3 | 5
結果現在我使用這個代碼。它的工作。但我想用Laravel雄辯方法。
$score_board_list = DB::select("SELECT *, total, @r:[email protected]+1 as rank,
@l:=total FROM (select username, first_name, video_title,
net_votes, sum(net_votes) as total from videos
LEFT JOIN users ON videos.user_id = users.id
LEFT JOIN profile ON users.id = profile.user_id
group by videos.id order by total desc, videos.created_at desc) totals, (SELECT @r:=0, @l:=NULL) rank");
**根據網票用戶的排名** - >你可以按遞減順序進行訂購通過**網票** voila,你得到了你的第一名,第二等等。至少,給了我們一個你已經嘗試過的例子..還有**加入這個用戶表**非常有趣,如果你認爲它是至關重要的,也可以發佈它..儘可能詳細 –
@BagusTesa我編輯了我的問題。謝謝。 –
你的意思是你要使用laravel查詢生成器? – Beginner