Yajra 数据表按列排序

Yajra data tables order by column

我正在使用 yajra/laravel-datatables 插件在 laravel 中创建数据表。这是我的代码。

$data = MyModel::latest()
                ->where('subject', 3)
                ->get();

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

这是我的js代码

var table = $('#empTable').DataTable({
        processing: true,
        serverSide: true,
        serverMethod: 'post',
        ajax: "{{ url('my url') }}",
        columns: [
            {data: 'reference_no', name: 'reference_no'}
        ]
    });

但遗憾的是数据未排序,我没有先获取最新数据 ('id' 'desc')。如果有人有解决方案,那将是一个很大的帮助

您可以覆盖 dataTable 的默认排序以获得所需的结果:

var table = $('#empTable').DataTable({
    processing: true,
    serverSide: true,
    serverMethod: 'post',
    order: [],
    ajax: "{{ url('my url') }}",
    columns: [
        {data: 'reference_no', name: 'reference_no'}
    ]
});

默认情况下,dataTable 将按第一列对 table 进行排序,因此在您的情况下为 reference_no,但由于您提供的是数据的初始排序,因此您可以设置默认排序到一个空数组。