我写了一个控制器,让它index
输出DataTables
插件数据。
摘录:
public function index() {
return Datatable::collection(\App\Slip::where('paid', '=', false)->get())
...
->make();
}
和路线:
Route::resource('api/slip', 'SlipsController');
一切正常,问题是这个index
只返回paid = false
项适合一个视图的项目,但对于另一个视图我需要所有项目/行。
那么使index
函数涵盖两种情况(所有和paid = false
的情况)的最佳做法是什么?
一个帖子参数是我想到的第一件事,但数据是由DataTables
插件加载的。
答案 0 :(得分:1)
为什么不呢?您需要检测指定的视图并在ajax-request中发送一些额外的参数。像:
$('...').DataTable({
....
"ajax": {
'type': 'GET',
'url': "....",
'data': {paid: false},
},
....
});
现在正在行动:
public function index(Request $request) {
$paid = $request->input('paid');
$items = [];
if ($paid){
$items = \App\Slip::all()->get();
}else{
$items = \App\Slip::where('paid', '=', false)->get();
}
return Datatable::collection($items)
...
->make();
}