2016-02-26 137 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') }}