5

我刚刚开始在 laravel 4 中实现 restful 控制器。我不明白在使用这种路由方式时如何将参数传递给控制器​​中的函数。

控制器:

class McController extends BaseController
{
            private $userColumns = array("stuff here");

    public function getIndex()
    {
            $apps = Apps::getAllApps()->get();
            $apps=$apps->toArray();
            return View::make('mc')->nest('table', 'mc_child.table',array('apps'=>$apps, 'columns'=>$this->userColumns));
    }

    public function getTable($table)
    {
            $data = $table::getAll()->get();
            $data=$data->toArray();
            return View::make('mc')->nest('table', 'mc_child.table',array('apps'=>$apps, 'columns'=>$this->userColumns));
    }

}

路线:

 Route::controller('mc', 'McController');

我能够访问这两个 URL,因此我的路由工作正常。使用这种路由和控制器方法时,如何将参数传递给该控制器?

4

1 回答 1

4

当你在 Laravel 中定义一个 restful 控制器时,你可以通过 URI 访问动作,例如 withRoute::controller('mc', 'McController')将匹配路由mc/{any?}/{any?}等。对于你的函数getTable,你可以使用函数参数mc/table/mytable所在的路由访问mytable

编辑 您必须启用以下功能:

class McController extends BaseController
{
    // RESTFUL
    protected static $restful = true;

    public function getIndex()
    {
        echo "Im the index";
    }

    public function getTable($table)
    {
        echo "Im the action getTable with the parameter ".$table;
    }
}

用那个例子,当我去路线时,mc/table/hi我得到输出:Im the action getTable with the parameter hi.

于 2013-08-29T23:20:56.143 回答