Php 如何使用Laravel 5.4显示数据表中的数据?
我一直在使用datatables和Laravel5.4的yajrabox插件。目标是使用ajax和插件加载数据库中用户表中的数据,但它只显示了以下错误:Php 如何使用Laravel 5.4显示数据表中的数据?,php,jquery,laravel,laravel-5,datatables,Php,Jquery,Laravel,Laravel 5,Datatables,我一直在使用datatables和Laravel5.4的yajrabox插件。目标是使用ajax和插件加载数据库中用户表中的数据,但它只显示了以下错误: DataTables warning: table id=listingUsers - Requested unknown parameter '0' for row 0, column 0. 我不知道它是从哪里来的,我也不确定我写的代码是否正确 这是我的密码 控制器: public function index() { $use
DataTables warning: table id=listingUsers - Requested unknown parameter '0' for row 0, column 0.
我不知道它是从哪里来的,我也不确定我写的代码是否正确
这是我的密码
控制器:
public function index() {
$users = User::latest()->count();
return view('admin.users.index', compact('users'));
}
public function ajaxListing() {
$users = User::select(['id', 'username', 'email']);
return Datatables::of($users)->make(true);
}
路线:
Route::resource('users', 'Admin\UsersController');
Route::any('user-data', 'Admin\UsersController@ajaxListing')->name('datatables.data');
视图:`
<table class="table table-bordered table-responsive" id="listingUsers">
<thead>
<th>ID</th>
<th>Nom</th>
<th>Email</th>
</thead>
<tbody></tbody>
</table>
@push('scripts')
<script>
$(document).ready(function () {
$('#listingUsers').DataTable({
processing: true,
serverSide: true,
ajax: '{!! route('datatables.data') !!}',
columns: [
{data: 0, name: 'id'},
{data: 1, name: 'name'},
{data: 2, name: 'email'}
]
});
});
</script>
@endpush`
当我在控制台和网络中搜索错误时,数据是正确的,但不显示在表中
有人能告诉我我做错了什么以及如何修复它吗?在数据中,您需要指定列名,如下所示:
columns: [
{data: 'id', name: 'id'},
{data: 'username', name: 'username'},
{data: 'email, name: 'email'}
]
您在ajax调用中收到了哪些数据?我得到了以下信息:{draw:1,recordsTotal:1,recordsFiltered:1,…}数据:[{id:1,用户名:Alex,电子邮件:someadress@example.com}]0:{id:1,用户名:Alex,电子邮件:someadress@example.com}draw:1输入:{draw:1,列:[,…],顺序:[{column:0,dir:asc}],开始:0,长度:10,…}查询:[,…]0:{查询:从用户计数表中选择“1”作为行计数,}1:{查询:选择id、用户名、来自用户的电子邮件按id排序asc限制10偏移量0,}recordsFiltered:1 recordsTotal:1它工作得很好,谢谢!我们需要如何指定这样的列名?数据必须与您从控制器发送的数据相匹配,但我不确定该名称代表什么,因为它在没有此名称的情况下仍然有效。以下是以防万一的文档: