在Laravel 5.3中,我有一个用户模型。我希望在我的服务器上拥有排名最高的10位用户。排名基于列Rank_a
,Rank_b
和Rank_c
的总和。我怎么能这样做?
这是我到目前为止的代码:
$users = User::take(10)
->select(DB::raw('sum(Rank_a+Rank_b+Rank_c) AS total_points'))
->orderBy('total_points')
->get();
return response()->json($users);
答案 0 :(得分:1)
您可以尝试以下查询:
$users = User::take(10)
->select('users.*', DB::raw('(Rank_a+Rank_b+Rank_c) AS total_points'))
->orderBy('total_points', 'desc')
->get();