【问题标题】:Laravel get Route parameters outside controllerLaravel 在控制器外部获取路由参数
【发布时间】:2016-10-21 00:00:45
【问题描述】:

我已经定义了一个这样的虚拟路由:

Route::get('sth/{v1}/{v2}' , [
    'uses'=>'SthController@sth',
]) ;

如何获取外部控制器 v1v2 的值?

【问题讨论】:

标签: laravel laravel-5


【解决方案1】:

没试过,但认为它的Route::current(),从任何地方使用来访问参数

$currentParams = Route::current()->parameters();

【讨论】:

    【解决方案2】:

    您可以像这样在任何地方获取 v1v2 的值:

    request()->v1;
    request()->v2;
    

    【讨论】:

      【解决方案3】:

      您可以在通过时将数据放入控制器中的会话中,然后从任何地方获取您想要的数据,

      Session::put('v1');
      Session::put('v2');
      

      现在您可以访问任何地方,例如:

      Session::get('v1')
      Session::get('v2')
      

      如果您需要删除会话数据,只需使用

      Session::forget('v1')
      Session::forget('v2')
      

      【讨论】:

        【解决方案4】:

        使用此代码

        $current_params = Route::current()->parameters();
        
        dd($current_params->v1) ;
        

        【讨论】:

          【解决方案5】:

          这可以是另一种方式: Route::getCurrentRoute()->getParameter('v1')

          【讨论】:

            【解决方案6】:

            在 Laravel 5.6 中对我来说是:

            Route::current()->parameters['v1']
            Route::current()->parameters['v2']
            

            等等……

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2014-12-10
              • 1970-01-01
              • 2020-09-01
              • 2021-09-06
              相关资源
              最近更新 更多