资源索引参数

时间:2015-11-02 02:51:42

标签: php controller laravel-5.1

我写了一个控制器,让它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插件加载的。

1 个答案:

答案 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();
}