Yajra DataTables:无法加载表中的记录
Yajra DataTables : Unable to load records in tables
我正在使用 Yajra 数据 tables 包来加载记录。但是我在整页而不是特定 table 上获取记录。我不明白错误在哪里。
查看文件
<table id="clientsTable" class="table table-bordered table-striped dataTable">
<thead>
<tr>
<th>#</th>
<th>First name</th>
<!--<th>Last name</th>-->
<th>Mobile number</th>
<th>Email</th>
<th>Actions</th>
</tr>
</thead>
</table>
脚本文件
$(document).ready(function($) {
$('#menu-clients').addClass('active');
$('#clientsTable').DataTable({
processing: true,
serverSide: true,
"bDestroy": true,
"bAutoWidth": false,
ajax:{
url : '/clients',
method: 'get',
},
columns:[
{ data: 'DT_RowIndex'},
{ data: 'first_name', name: 'first_name'},
{ data: 'mobile_no', name: 'mobile_no'},
{ data: 'email', name: 'email'},
{ data: 'actions', name: 'actions'},
]
});
});
路由文件
Route::resource('/clients', 'ClientsController');
控制器
public function index()
{
$data = DB::table('clients')->orderBy('id', 'desc')->get();
return Datatables::of($data)
->addColumn('actions','buttons.clients')
->rawColumns(['actions'])
->addIndexColumn()
->make(true);
}
网络选项卡中的响应
{draw: 0, recordsTotal: 166, recordsFiltered: 166, data: [,…], input: []}
draw: 0
recordsTotal: 166
recordsFiltered: 166
data: [,…]
[0 … 99]
[100 … 165]
input: []
You have to use the Select query Eg:
$data = DB::table('clients')->select('id','first_name','mobile_no','email')->orderBy('id', 'desc')->get();
return Datatables::of($data)
->addColumn('actions','buttons.clients')
->rawColumns(['actions'])
->addIndexColumn()
->make(true);
您需要将视图和数据表数据的方法分开。
在您的索引方法中调用 table 的视图。
public function index()
{
return view('yourTableBlade');
}
同时删除 get() 方法 yajraDataTable 为您完成这项工作。
public function tableData()
{
$data = DB::table('clients')->orderBy('id', 'desc');
return Datatables::of($data)
->addColumn('actions','buttons.clients')
->rawColumns(['actions'])
->addIndexColumn()
->make(true);
}
为您的数据创建另一个路由table。
Route::get('/tableData', 'ClientsController@tableData');
我正在使用 Yajra 数据 tables 包来加载记录。但是我在整页而不是特定 table 上获取记录。我不明白错误在哪里。
查看文件
<table id="clientsTable" class="table table-bordered table-striped dataTable">
<thead>
<tr>
<th>#</th>
<th>First name</th>
<!--<th>Last name</th>-->
<th>Mobile number</th>
<th>Email</th>
<th>Actions</th>
</tr>
</thead>
</table>
脚本文件
$(document).ready(function($) {
$('#menu-clients').addClass('active');
$('#clientsTable').DataTable({
processing: true,
serverSide: true,
"bDestroy": true,
"bAutoWidth": false,
ajax:{
url : '/clients',
method: 'get',
},
columns:[
{ data: 'DT_RowIndex'},
{ data: 'first_name', name: 'first_name'},
{ data: 'mobile_no', name: 'mobile_no'},
{ data: 'email', name: 'email'},
{ data: 'actions', name: 'actions'},
]
});
});
路由文件
Route::resource('/clients', 'ClientsController');
控制器
public function index()
{
$data = DB::table('clients')->orderBy('id', 'desc')->get();
return Datatables::of($data)
->addColumn('actions','buttons.clients')
->rawColumns(['actions'])
->addIndexColumn()
->make(true);
}
网络选项卡中的响应
{draw: 0, recordsTotal: 166, recordsFiltered: 166, data: [,…], input: []}
draw: 0
recordsTotal: 166
recordsFiltered: 166
data: [,…]
[0 … 99]
[100 … 165]
input: []
You have to use the Select query Eg:
$data = DB::table('clients')->select('id','first_name','mobile_no','email')->orderBy('id', 'desc')->get();
return Datatables::of($data)
->addColumn('actions','buttons.clients')
->rawColumns(['actions'])
->addIndexColumn()
->make(true);
您需要将视图和数据表数据的方法分开。
在您的索引方法中调用 table 的视图。
public function index()
{
return view('yourTableBlade');
}
同时删除 get() 方法 yajraDataTable 为您完成这项工作。
public function tableData()
{
$data = DB::table('clients')->orderBy('id', 'desc');
return Datatables::of($data)
->addColumn('actions','buttons.clients')
->rawColumns(['actions'])
->addIndexColumn()
->make(true);
}
为您的数据创建另一个路由table。
Route::get('/tableData', 'ClientsController@tableData');