【问题标题】:How do I declare a controller method for a named route in Laravel 4?如何在 Laravel 4 中为命名路由声明控制器方法?
【发布时间】:2015-02-04 00:19:13
【问题描述】:

我试图在我的控制器中声明一个响应数字命名路由的方法/函数。当我在站点中加载任何页面时,我收到一条错误消息,指出找不到控制器方法,这意味着 Laravel 甚至不会将应用程序加载到某些不正确的格式。我搜索了一个没有运气的答案。

这是我试图通过我的数学控制器访问的路线:

学生/学者/数学/7-12

这是寻找路线的方法声明:

公共函数 get712()

无论我加载哪个页面,都会出现以下错误:

调用未定义的方法 Illuminate\Routing\Router::get712()

我不确定如何在我的控制器中为纯数字路由命名函数/方法,因为不允许使用连字符并且数字没有大写/小写。

【问题讨论】:

    标签: laravel laravel-4 laravel-routing


    【解决方案1】:

    为什么不将 7-12 作为变量传递给方法?

    路线:

    students/academics/math/{number} 
    

    控制器:

    public function getMath($number)
    {
        // code here
    }
    

    【讨论】:

    • 我也有学生/学者/数学/k-6,所以这也可以工作,因为我将我的视图命名为与路线相同,并且可以在 View::make() 声明中使用变量.我能够命名路线 get_7_12() 并让它按照我的要求运行。
    • 这是非常不恰当的,但我想为这个奇怪的$("div") 问题中的评论道歉——我根本没有讽刺的意思;恰恰相反。很抱歉我给你造成了悲伤,以后我会记得在制作这样的 cmets 时更清楚。
    • @Pointy 我很抱歉。我刚刚被一个拥有 350k 加代表 b/c 的人斥责了一个小时我问了一个关于一个人的问题的问题(一个拥有 350k 的人对回答不感兴趣)b/ci 在答案框中提出了问题 b/ c 当时我没有足够的声誉来正确评论。我回答的下一个问题是我们的路径交叉的问题,在这种情况下,您的评论被视为讽刺。我以为又是同样的情况,当时我只想帮助某个人。对此感到抱歉。
    • @jmgibson 好的很酷,我感觉很糟糕,因为我的评论比它本来可以更简洁,但我真的很认真地认为你的回答很有洞察力:) Stackoverflow 有时会有点刻薄,但总的来说我发现它能给人带来好东西。
    【解决方案2】:

    我记得 Laravel 过去常常在方法名称中使用下划线而不是 camelCase,所以在没有运气的情况下搜索了 Google 之后,我这样声明了该方法:

    公共函数 get_7_12()

    瞧!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-06-25
      • 2015-07-05
      • 2014-12-15
      • 1970-01-01
      • 2013-12-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多