我尝试过这种方法,但它不起作用。
$row = 0;
$record = DB::table('users')
->select(
DB::raw("{{ $row++ }} AS no"),
'users.name AS name'
)
->get();
我只希望这些输出如下:
|no| Name |
|1 | sample1 |
|2 | sample2 |
|3 | sample3 |
一直在寻找合适的语法,但一无所获。有人知道怎么做。谢谢你。
这是我的代码:
DB::statement(DB::raw("SET @row = '0'"));
$record = DB::table('users')
->select(
DB::raw("@row:=@row+1 AS no"),
'name'
)->get();
我认为在这种情况下你可以在PHP端添加“no”:
$record = DB::table('users')
->select('users.name AS name')
->get()
->each(function ($row, $index) {
$row->no = $index + 1;
})
我想你可以做到这一点。
$record = DB::table('users')
->select(DB::raw('count(name) as No, name'))
->groupBy('name')
->orderBy('name','DESC')
->get();
首先,您可以使用count(name)
统计所有用户然后您可以按降序打印。