2016-02-26 58 views
0

在控制器中,我想使用從url獲取的動態表名,然後使用package chumper/datatable顯示數據。Laravel:使用從url獲取的動態表名稱的參數

當我瀏覽mysite.com/unit/rentin/send我有一個AJAX錯誤,因爲所使用的表名是send_ {單位衝而我註冊的表名是send_rentin

這裏是我的代碼:

routes.php文件

Route::resource('unit.send', 'SendController'); 

SendController.php

class SendController extends \BaseController {  
    public function index($unit) 
    { 
     $table = new Send;  // Send is my model 
     $table->setTable('send_' .$unit); 

     if (Datatable::shouldHandle()) 
     { 
      return Datatable::collection($table::all()) 
      ->showColumns('admin_no') 
      ->addColumn('admin_date', function ($model) { 
       return date('d M Y', strtotime($model->admin_date)); 
      }) 
      ->make(); 
     } 

     return View::make('send.index')->withUnit($unit); 
     } 
    } 
} 

我怎麼錯過?

+0

我想'路線::資源( 'unit.send/{單位衝', 'SendController');' – Froxz

+0

其實'資源('unit.send',...)'由一個'get(unit/{unit}/send,...)'組成。而我使用的這條路線。 'unit/rentin/send'類似於'unit/{unit}/send'。 – zain

+0

最後一行中的_ $ unit_ View :: make('send.index') - > withUnit($ unit);'return _rentin_ – zain

回答

0

經過一個小時的嘗試,我發現在我的意見錯誤。

錯誤

{{ Datatable::table() 
->addColumn('no', 'date') 
->setUrl(route('unit.send.index')) 
->render('datatable.uikit') }} 

{{ Datatable::table() 
->addColumn('no', 'date') 
->setUrl(route('unit.send.index', ['unit'=>$unit])) 
->render('datatable.uikit') }}