【发布时间】:2018-01-20 15:51:05
【问题描述】:
我遇到了有关数据表的问题。我在 laravel 工作并使用 yajra/laravel-datatables-oracle 包。
在我的一个产品部分中,有 100-200k 条记录。当我点击我的产品列表时,加载需要很长时间,因为我从数据库中获取所有记录。
我正在尝试根据限制获取记录,但这会在分页和搜索中产生问题。只有一个分页链接有效,所有其他页面返回空数据。
下面是我的服务器端代码:
$skip = $request->get('start') != null ? $request->get('start') : 0;
$take = $request->get('length') != null ? $request->get('length') : 10;
$products = Product::skip($skip)->take($take)->get();
$count = Product::get()->count();
return Datatables::of($products)->setTotalRecords($count)->make(true);
ajax 响应:
{"draw":2,"recordsTotal":121,"recordsFiltered":121,"data":[],
这里数据是空的,不知道ajax调用时如何追加数据。
当我们有大量记录时我如何编码?
【问题讨论】:
-
Product::paginate($take)怎么样?检查laravel.com/docs/5.4/pagination -
感谢您的快速回复,但分页不适用于数据表。分页也由数据表处理。 setTotalRecords($count) 将制作分页链接。
-
@sunil:你检查过custom filter吗?
标签: laravel pagination datatables yajra-datatable