laravel中的数据表分页
我正在使用laravel 5.0 我还使用datatable jquery插件来显示网格 控制器方法laravel中的数据表分页,laravel,laravel-5,Laravel,Laravel 5,我正在使用laravel 5.0 我还使用datatable jquery插件来显示网格 控制器方法 public function index() { $jobs = \App\Job::orderBy('created_at', 'DESC')->limit(1000)->get(); return View::make('jobs.index', ['jobs' => $jobs]); } 问题是: 现在我在datatable网格中硬编码->限制(
public function index() {
$jobs = \App\Job::orderBy('created_at', 'DESC')->limit(1000)->get();
return View::make('jobs.index', ['jobs' => $jobs]);
}
问题是:
现在我在datatable网格中硬编码->限制(1000)到1000个作业以显示
但我有1000多条记录要显示
我想要什么?
我想用网格显示500条记录,然后再显示500条记录。
我不确定是否有任何回调数据表插件功能可用?
我需要一个动态的方式来加载下一个500 注: 我不愿意为我们提供这种滚动的解决方案 您可以使用:
或者。您可以使用ajax数据源: 请浏览: PHP脚本示例:
// function will process the ajax request
public function getMembers(Request $request) {
$draw = $request->get('draw');
$start = $request->get('start');
$length = $request->get('length');
$search = (isset($filter['value']))? $filter['value'] : false;
$total_members = 1000; // get your total no of data;
$members = $this->methodToGetMembers($start, $length); //supply start and length of the table data
$data = array(
'draw' => $draw,
'recordsTotal' => $total_members,
'recordsFiltered' => $total_members,
'data' => $members,
);
echo json_encode($data);
}
JavaScript示例:
$('#all-member-table').DataTable( {
"processing": true,
"serverSide": true,
"ajax": {
url: base_url+"ajax/members"
},
"columns": [
{ data: '1' },
{ data: '2' },
{ data: '3' },
{ data: '4' },
{ data: '5' },
]
} );
HTML示例:
<table id="all-member-table">
<thead>
<tr>
<th>Column1</th>
<th>Column2</th>
<th>Column3</th>
<th>Column4</th>
<th>Column5</th>
</tr>
</thead>
</table>
专栏1
专栏2
第3栏
专栏4
专栏5
我认为上述答案应该通过搜索功能进行扩展
更新答案
$filter = $request->get('search');
$search = (isset($filter['value']))? $filter['value'] : false;
where('somecolumnonyourdb','like', '%'.$search.'%')
这对我有用我需要一种动态方式来加载下一个500records@Peter那有什么问题?使用ajax加载前500条或后500条记录,代码与我之前展示的相同。我需要一个逻辑来加载前500条记录。所以我期待一些解决方案。有一个包用于此,搜索和排序方式如何?有一个包用于此
$filter = $request->get('search');
$search = (isset($filter['value']))? $filter['value'] : false;
where('somecolumnonyourdb','like', '%'.$search.'%')