如何解决PHP Laravel 7 Yarja 数据表加载 800k+ 数据时出错
数据表版本: 1.10.19
Laravel: 7.3
880k 记录数据
问题:显示前 10 个结果正确,有点慢,但还可以...
Mostrando de 1 até 10 de 880.951 注册人
所以,当我点击第二页时,显示:
Mostrando de 11 até 20 de 880.951 注册人
但不显示记录:
Nenhum registro enconTrado(未找到记录)
admin_template.blade.PHP
$.extend(true,$.fn.dataTable.defaults,{
order: [],scrollX: true,processing: true,serverSide: true,paging: true,pageLength: 1
控制器:
public function index(Request $request)
{
if ($request->ajax()) {
$limit = request('length');
$skip = request('start');
$count = Ip::getAll()->count();
$table = Datatables::of(Ip::getAll()->take($limit)->skip($skip))->setTotalRecords($count);
$table->addColumn('placeholder',' ');
$table->addColumn('actions',' ');
$table->editColumn('actions',function ($row) {
$viewGate = 'ip_show';
$crudRoutePart = 'ip';
return view('partials.datatablesActionsInfo',compact(
'viewGate','crudRoutePart','row'
));
});
$table->rawColumns(['actions','placeholder']);
return $table->make(true);
}
index.PHP(在 admin_template.blade.PHP 内)
<table class=" table table-bordered table-striped table-hover ajaxTable datatable datatable-ip">
<thead>
<tr>
<th width="10">
</th>
<th>
{{ trans('cruds.ip.fields.name') }}
</th>
<th>
</th>
</tr>
</thead>
</table>
<script>
$(function () {
let dtButtons = $.extend(true,[],$.fn.dataTable.defaults.buttons)
let dtOverrideGlobals = {
buttons: dtButtons,order: [[ 1,'desc' ]],pageLength: 10,//idisplayLength: 10,aaSorting: [],ajax: "{{ route('info.ip.index') }}",columns: [
{ data: 'placeholder',name: 'placeholder' },{ data: 'nome',name: 'nome' },{ data: 'actions',name: '{{ trans('global.actions') }}' }
],};
$('.datatable-ip').DataTable(dtOverrideGlobals);
$('a[data-toggle="tab"]').on('shown.bs.tab',function(e){
$($.fn.dataTable.tables(true)).DataTable()
.columns.adjust();
});
});
</script>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。