将参数传递给laravel中的一个安静的控制器

时间:2013-08-29 21:04:04

标签: php laravel laravel-4

我刚开始在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');

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

1 个答案:

答案 0 :(得分:4)

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

修改 您必须启用restful功能,如下所示:

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