我正在使用Laravel Datatable,排序不起作用,有人可以帮助我。
控制器
Table::select(array( DB::raw('table2.con_title'),
DB::raw('........
Datatables::of(----)->make();
查看
.dataTable({ “bProcessing”:是的, “bServerSide”:是的, “sAjaxSource”:ajaxurl,
“aoColumnDefs”:[{mData:'table2.con_title',aTargets:[0]},.......
错误 DataTables警告(table id ='-----'):从第0行的数据源请求未知参数'table2.con_title'
答案 0 :(得分:0)
您需要确保表格列正确映射到您的数据。
答案 1 :(得分:0)
最近,我正在使用Laravel数据表并遇到类似的情况,数据正在列中加载,但是排序不起作用,并且我的数据表正在从多个数据库(DB)表中加载数据。以下是我的发现:
如果使用的是DB :: raw($ your_sql)-确保在数据表列配置中引用的是正确的DB列名。例如:
$sql_query = "
SELECT
id AS primary_key,
first_name,
last_name
FROM
Contacts
";
$data = collect(DB::select(DB::raw($sql_query)));
$list = Datatables::of($data);
$list->make(true);
在刀片文件中,像这样进行数据表列配置
<table id="name-list">
<thead>
<tr>
<th>ID</th>
<th>First Name</th>
<th>Last Name</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
$('#name-list').dataTable({
"processing": true,
"serverSide": true,
"ajax": "{{route('path_to_your_server_code')}}",
"columns": [
{data: 'primary_key', name: 'primary_key', orderable: true, searchable: true, visible: true},
{data: 'first_name', name: 'first_name', orderable: true, searchable: true, visible: true},
{data: 'last_name', name: 'last_name', orderable: true, searchable: true, visible: true}],
"order":[[1, 'desc']]
});
如果您在SQL中使用Eloquent-Relationships并希望加载多个关系(即多个DB表),请确保您通过Eloquent-Relationships引用数据库列,例如Relation.column_name。您的数据表列配置将如下所示:
//column configuration
{data: 'some_relation.db_column', name: 'some_relation.db_column', orderable: true, searchable: true, visible: true}
//complete example code
$('#name-list').dataTable({
"processing": true,
"serverSide": true,
"ajax": "{{route('path_to_your_server_code')}}",
"columns": [
{data: 'primary_key', name: 'primary_key', orderable: true, searchable: true, visible: true},
{data: 'first_name', name: 'first_name', orderable: true, searchable: true, visible: true},
{data: 'last_name', name: 'last_name', orderable: true, searchable: true, visible: true},
{data: 'some_relation.db_column', name: 'some_relation.db_column', orderable: true, searchable: true, visible: true}],
"order":[[1, 'desc']]
});
我已经尝试了以上两种方法,并且在两种情况下(例如,使用DB :: raw($ your_sql)和Eloquent-Relationships)都对排序有效。