我在Laravel
中有这个查询:
Models::select('*')->group_by('user_name')->order_by(DB::raw('count(user_name)'), 'desc')->take(3)->get();
按表格中显示的数字返回前3位用户。
问:如何获取计数参数(它们出现的次数?)
当前回复:
array(
"Tim","John","Luke"
);
我需要这样的东西:
array(
array(
"user" => "Tim",
"count" => 3
),
array(
"user" => "John",
"count" => 2
),
array(
"user" => "Luke",
"count" => 1
)
);
谢谢!
答案 0 :(得分:0)
您应该在查询的选择部分中执行COUNT
并对其进行别名,然后在排序中使用该别名。
也许这样的事情。
Models::select('*', DB::raw('count(user_name) AS user_count'))->group_by('user_name')->order_by(DB::raw('user_count'), 'desc')->take(3)->get();