我想按创建日期对datatable进行排序,同时以特殊格式显示日期我尝试了下面的代码,但没有工作,问题是我可以显示日期,但在格式D d M-Y的文本中,我需要将日期排序为日期而不是文本
控制器
->addColumn('created_at', function ($data) {
return [
'display' => date('D d M-Y', strtotime($data->created_at)),
'timestamp' => ($data->created_at)
];
})
jquery:
{ name: ' order_date', data: { '_': ' order_date.display', 'sort': ' order_date.timestamp'
} }
4条答案
按热度按时间0pizxfdo1#
使用js中的顺序。
其中1是col位置。
hmae6n7t2#
请按照以下步骤解决问题
控制器
JS
nzk0hqpo3#
如果
Datatables::of($data)
的输入$data
是Collection
(不是Builder
),则需要从到
通过这样做,
Yajra\DataTables\CollectionDataTable
中的getSorter()
可以提取正确的属性(在您的示例中是order_date.timestamp
)来处理排序。参考:https://github.com/yajra/laravel-datatables/issues/1404#issuecomment-506623825
iqjalb3h4#
(100%工作)控制器
JS