Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使用Laravel 5.4显示数据表中的数据?_Php_Jquery_Laravel_Laravel 5_Datatables - Fatal编程技术网

Php 如何使用Laravel 5.4显示数据表中的数据?

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和Laravel5.4的yajrabox插件。目标是使用ajax和插件加载数据库中用户表中的数据,但它只显示了以下错误:

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它工作得很好,谢谢!我们需要如何指定这样的列名?数据必须与您从控制器发送的数据相匹配,但我不确定该名称代表什么,因为它在没有此名称的情况下仍然有效。以下是以防万一的文档: