Laravel:使用从网址获取的参数作为动态表名


Laravel : use parameter that taken from url for dynamic table name

在控制器中,我想使用从 url 获取的动态表名,然后使用包 chumper/datatable 显示数据。

当我浏览 mysite.com/unit/rentin/send 时,我遇到了一个 AJAX 错误,因为使用的表名是 send_{unit},而我注册的表名是send_rentin

这是我的代码:

路线.php

Route::resource('unit.send', '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);
        }
    }
}

我错过了什么?

经过几个小时的尝试,我发现我的观点有误。

{{ 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') }}