OrderColumn无法根据updated_at对列表进行排序,但无法工作。
这是我的代码,你可以看到
$product = Product::query()->get();
return Datatables::of($product )
->orderColumn('updated_at', 'DESC')
->make(true);
Javascript代码
<script>
$(document).ready(function(){
var columns = [
{
data: 'name',
name: 'name',
searchable: true
},
columns.push({
data: 'action',
name: 'action',
orderable: false,
searchable: "false",
className: "text-center"
});
$('#product-table').DataTable({
pageLength: 25,
processing: true,
serverSide: true,
ajax: {
url: '{{ route('products.dt') }}',
},
columns: columns,
});
});
</script>
问题是JQuery Datatables在接收数据后执行自己的排序。因此服务器上的排序被忽略。
我也遇到过同样的问题,但还没有找到解决方案。我正在考虑添加一个额外的隐藏列来对数据进行排序,但这也不是一个好的解决方案。