Laravel 使用参数调用索引控制器

Laravel 使用参数调用索引控制器,laravel,laravel-4,Laravel,Laravel 4,所以基本上,我有一个restful控制器在我的路线设置。现在我的问题是,如果有一个参数,我如何调用索引页面。。它给我一个找不到控制器的错误 我试着这样称呼它 然后在我的控制器里 class UserRegisterController extends \BaseController { protected $layout = 'layouts.unregistered'; public function getIndex( $unique_code = null )

所以基本上,我有一个restful控制器在我的路线设置。现在我的问题是,如果有一个参数,我如何调用索引页面。。它给我一个找不到控制器的错误

我试着这样称呼它

然后在我的控制器里

class UserRegisterController extends \BaseController {

    protected $layout = 'layouts.unregistered';

    public function getIndex( $unique_code = null )
    {
        $title = 'Register';
        $this->layout->content = View::make( 'pages.unregistred.sign-up', compact('title', 'affiliate_ash'));
    }

您需要在route
route::controller('sign-up/{unique_code?}','UserRegisterController')中定义参数。问号使它成为可选的

此处提供完整文档:

通过注册:

Route::controller('sign-up','UserRegisterController');
您告诉路由,每次url以/sign up/开头时,它都应该在
UserRegisterController
中的
verbAction
约定中查找相应的操作

假设你有:

逻辑上,它将被映射到
UserRegister@getSocialSignup
(GET动词,因为它是GET请求)。如果
/sign-up/
之后没有任何内容,则默认情况下它将查找
getIndex()

现在,考虑一下你的例子:

根据相同的逻辑,它将尝试查找
UserRegister@getAsdasdasd
您很可能没有。这里的问题是无法告诉
Route
asdasdasd
实际上是一个参数。至少,不使用单一的
路线
定义

您必须定义另一条路由,可能在您的
route::controller

Route::controller('sign-up','UserRegisterController');
// If above fail to find correct controller method, check the next line.
Route::get('sign-up/{param}', 'UserRegisterController@getIndex');

嗯。它真的适用于restful控制器路由吗?我尝试使用它,它使我的控制器中的所有方法都出错。如果工作完全相同,你能告诉我你的错误吗?
Route::controller('sign-up','UserRegisterController');
// If above fail to find correct controller method, check the next line.
Route::get('sign-up/{param}', 'UserRegisterController@getIndex');