php - Laravel 和客户端数据表
问题描述
在工作中,我们拥有比服务器更好的计算机,所以我想使用客户端数据表来显示大量数据。
但是我没有找到很多关于客户端数据表和 laravel 的教程。
我使用 yajra 包,这里使用 laravel 5.4 的服务器端数据表的简单代码。
路由.php:
Route::get('/users/serverSide', [
'as' => 'users.serverSide',
'uses' => function () {
$users = App\User::select(['id', 'name', 'email', 'created_at']);
return Datatables::of($users)->make();
}
]);
Route::get('/table', function () {
return view('users.table');
});
表.php:
<!DOCTYPE html>
<head>
<link href="//cdn.datatables.net/1.10.10/css/jquery.dataTables.min.css" rel="stylesheet">
</head>
<body>
<table class="datatable">
<thead>
<tr>
<th>ID</th>
<th>Name</th>
<th>Email</th>
<th>Created at</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
<script src="//code.jquery.com/jquery-1.11.3.min.js"></script>
<script src="//cdn.datatables.net/1.10.10/js/jquery.dataTables.min.js"></script>
<script>
$(document).ready(function(){
$('.datatable').DataTable({
processing: true,
serverSide: true,
ajax: '{{ route('users.serverSide') }}'
});
});
</script>
</body>
我知道 serverSide 必须设置为 false 并且我必须将所有数据作为 json 返回。这是我没有达到的部分,因为我是 laravel 的新手。
感谢您的帮助 !
解决方案
您需要获取 Laravel 端 ( Route.php
) 上的所有用户,如yajra/laravel-datatables文档中所示:
return datatables()
->eloquent(User::select(['id', 'name', 'email', 'created_at'])->get())
->toJson();
我假设您使用的是最新的 yajra/laravel-datatables
推荐阅读
- android - Android Q、R 中的 WiFiManager API
- dbeaver - DBeaver:将服务器输出重定向到文件
- java - 与 java 具有相同属性的过滤器列表(首选 groovy)
- html - 如何在使用 display:flex 换行文本后删除空格?
- qt - 如何在 QML 中将父窗口置于子窗口前面
- scalardb - 在 Scalardb 中启用日志记录
- python - 定期检查 python 脚本是否正在运行并在没有运行时重新启动它的服务
- dataweave - MULE 4:DATAWEAVE 2.0:如何获取 Dataweave 2.0 中两个 Time 实例之间的小时数差异?
- python - 在python中创建2个日期之间的年份列表
- python - 在Python中组合两个字典列表中的值时如何避免嵌套for循环?