2015-11-02 61 views
0

我已經寫了一個控制器來讓它的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)?

post param是我想到的第一件事,但數據由DataTables插件加載。

回答

1

爲什麼不能?您需要檢測您指定的視圖並在ajax請求中發送一些額外的參數。像:

$('...').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(); 
}