如何在laravel数据表中添加行号或序列号

时间:2017-02-08 08:57:35

标签: laravel serialization datatable numbers row

这是bill_info表,我需要序列化行号,如1 2。 。 。 。 。 。 。 。 。 。 。 。 .N

enter image description here

返回了数据列表,如何在数据表列表视图中获取 serial_no 自定义字段。

    $data = BillInfo::get(['bill_info.*']);

    return Datatables::of($data)
                    ->removeColumn('id')
                    ->make(true);

4 个答案:

答案 0 :(得分:5)

如果您使用的是yajra laravel数据表

只需添加-> addIndexColumn()

return DataTables::of($data)
            ->addIndexColumn()
            ->make(true);

在您的JavaScript中,您可以像这样将第一行设置为序列号

columns: [
            { data: 'DT_Row_Index', name: 'DT_Row_Index' },
            { data: 'name', name: 'name' },
            { data: 'action', name: 'action' }
        ]

答案 1 :(得分:3)

使用Yajra Laravel数据表时

return DataTables::of($result)
            ->addIndexColumn()
            ->make(true);

"columns": [
                {
                    "data": 'DT_RowIndex',
                    orderable: false, 
                    searchable: false
                },
]

答案 2 :(得分:2)

在查询开头设置变量rownum。然后在查询中设置增量过程。

DB::statement(DB::raw('set @rownum=0'));

$data = BillInfo::get(['bill_info.*', 
                    DB::raw('@rownum  := @rownum  + 1 AS rownum')]);

return Datatables::of($data)
                ->removeColumn('id')
                ->make(true);

在这里你可以得到rownum作为给定记录的序列号[1。 。 。 8]。

答案 3 :(得分:0)

在Laravel Yajra Datatables v9.x作为 Service 实现中,我将其添加到 getColumns 函数中,并且在排序,搜索和页面更改。

'id' => ['title' => 'N.', 'orderable' => false, 'searchable' => false, 'render' => function() {
            return 'function(data,type,fullData,meta){return meta.settings._iDisplayStart+meta.row+1;}';
        }],