路线URL laravel 4

时间:2014-05-29 11:58:16

标签: laravel-4

如何在Laravel 4中完成此操作

  URL::route('auth.reset', array('kh34KHh4K342'))

而不是

 http://domain.tld/auth/reset?kh34KHh4K342

我想得到这个:

 http://domain.tld/auth/reset/kh34KHh4K342

修改

这是我的routes.php:

问题是因为我有两条同名的路线?你怎么解释这个?

我应该设置一个不同的名称事件是同一类型,不同的方法

    // Set locale
  $locale = Request::segment(1);

    if(in_array($locale, Config::get('app.languages'))) {
\App::setLocale($locale);
  } else {
$locale = null;
  }
    Route::group(
array( 'prefix' => $locale ), function () {

    Route::get('/'), array( 'uses' => 'HomeController@getIndex', 'as' => '/' ));

    // Auth
    Route::group(
        array( 'prefix' => 'auth' ), function () {

            // Login
            Route::get(
                'login', array( 'before' => 'guest',
                                'uses'   => 'UserController@getLogin',
                                'as'     => 'auth.login' )
            );

            Route::post(
                'login', array( 'before' => 'guest|csrf',
                                'uses'   => 'UserController@postLogin',
                                'as'     => 'auth.login' )
            );

   Route::get(
                'reset/{$token}', array( 'uses'   => 'UserController@getReset',
                                'as'     => 'auth.reset' )
            );
   Route::post(
                'reset', array( 'uses'   => 'UserController@postReset',
                                'as'     => 'auth.reset' )
            );

         }
     );

2 个答案:

答案 0 :(得分:1)

变化

URL::route('auth.reset', array('kh34KHh4K342'))

URL::route('auth.reset', 'kh34KHh4K342')

答案 1 :(得分:0)

你可以试试这个。

在你的routes.php中

 Route::controller('auth', 'AuthController');

在您的控制器

 class AuthController extends BaseController {

   public function getReset($hashcode) {
     ...code here
   }


 }

它看起来像http://domain.tld/auth/reset/<hascode>