【问题标题】:Getting wrong route variable value in laravel subdomain route在 laravel 子域路由中获取错误的路由变量值
【发布时间】:2016-09-16 05:45:41
【问题描述】:

我正在使用这个 laravel 路线

Route::group(['domain' => '{subdomain}.abc.com'], function()
{
    Route::get('get_user/{user_id}','MyController@myMethod');
}

在这里,我的控制器中 user_id 出错了,它应该类似于 15 但我得到了我的子域值 subdomain_value

我在这里做错了什么?

感谢您的宝贵时间和建议。

【问题讨论】:

    标签: php laravel laravel-5 laravel-5.2 laravel-routing


    【解决方案1】:

    在您的控制器中尝试以下代码

     $user_id = $request->route()->parameter('user_id');
    

    您可以从路由参数中获取路由变量的确切值。

    【讨论】:

    • 感谢它的工作,但为什么我的代码不起作用?
    • 您的问题是“我在这里做错了什么?”答::当使用子域路由时,Laravel 会自动将子域作为每个方法的第一个参数传递。
    • @Arvind,有没有一种优雅的方法可以建议您忽略每个控制器上传递的subdomain 参数?
    • @Valkyrurr 是的。您可以创建一个中间件,您可以在其中设置 url 默认值,例如 \URL::defaults([ 'subdomain' => $request->route('subdomain'), ]); 您可以将此中间件添加到路由中间件组
    猜你喜欢
    • 1970-01-01
    • 2019-08-17
    • 2018-03-01
    • 1970-01-01
    • 2013-10-11
    • 2020-01-04
    • 2016-09-18
    • 2016-09-25
    • 2015-09-10
    相关资源
    最近更新 更多