Php DataTable在Laravel 5.8中变得非常缓慢

Php DataTable在Laravel 5.8中变得非常缓慢,php,datatable,datatables,laravel-5.8,Php,Datatable,Datatables,Laravel 5.8,我正在使用Laravel5.8和Datatables插件yajra/LaravelDataTables。很好用。但是当数据量超过1000个时,加载页面的时间就会延长。我怎样才能解决这个问题?如何优化数据负载 控制器 $data=注册::选择“成员。*” ->leftJoin'payment'、'payment.user_id'、'='、'members.email' ->最新->第一->获取; 返回$data的Datatables::个 ->addIndexColumn->addColumn'a

我正在使用Laravel5.8和Datatables插件yajra/LaravelDataTables。很好用。但是当数据量超过1000个时,加载页面的时间就会延长。我怎样才能解决这个问题?如何优化数据负载

控制器

$data=注册::选择“成员。*” ->leftJoin'payment'、'payment.user_id'、'='、'members.email' ->最新->第一->获取; 返回$data的Datatables::个 ->addIndexColumn->addColumn'action',函数$row{ $btn=''; 返回$btn; } ->编辑列“服务”,函数$row{ $services=json_decode$row->service,true; $services_list=; foreach$服务作为$服务{ $serv=Benefits::findOrFail$service; $services\u list.=$serv->service\u name; } $services_list=rtrim$services_list,','; 返回$services\u列表; } ->editColumn'airline',function$行{ $air=Airlines::findOrFail$row->Airlines; 返回$air->air\u名称; } ->编辑列“状态”,函数$行{ 如果$row->status==0 返回“禁用”; 如果$row->status==1 返回“已启用”; } ->rawColumns[“组”、“服务”、“组织”、“状态”、“操作”] ->实现; 看法

$'members\u table'。数据表{ 处理:对, iDisplayaLength:10, bAginate:10, 观察家方面:是的, 回答:是的, 自动宽度:false, 阿贾克斯:{ url:“{routemember_list}}”, 数据:{from_date:from_date,to_date:to_date,group_search:group_search} }, 栏目:[ {数据:'DT_RowIndex',名称:'DT_RowIndex'}, {数据:'firstName',名称:'firstName'}, {数据:'国家',名称:'国家'}, {数据:'组',名称:'组'}, {数据:'服务',名称:'服务'}, {数据:'组织',名称:'组织'}, {数据:'航空公司',名称:'航空公司'}, {数据:'action',名称:'action',可排序:false,可搜索:false} ] };
非常感谢您提供的任何帮助。

2件事-按表标识排序,而不是使用最新或索引添加的\u at字段。第二:看起来您并没有遵循datatable文档。您只是从原始查询创建datatable数据,因此无法对其进行分页。您应该查看他们的文档,并允许包对您的数据进行分页。