如何在Controller __construct()中检索Route参数

时间:2014-10-10 15:36:43

标签: laravel-4 laravel-routing

我试图将两个参数拉入我的Controller的 __ construct()方法,但我一直在进行以下调试

  

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

我特别想做的是。

  • "门户网站" "问题" 参数拉入我的 __ construct 并设置我的班级中的 $ currentPortal $ currentIssue 变量(受保护的变量)
  • 请在不同的Controller操作中使用这两个受保护的变量

在你的下方找到我的 __ construct()方法

protected $portals, $issues, $currentPortal, $currentIssue;

public function __construct(\App\Entities\Portal $portals, \App\Entities\Issue $issues){
    $this->portals = $portals;
    $this->issues = $issues;

    dd(\Route::parameters());

    if($portal = \Route::getParameter('portal'))
        $this->currentPortal = $this->portals->findBySlug($portal);

    if($issue = \Route::getParameter('issue'))
        $this->currentIssue = $this->issues->findByKey($issue);
}

您可以注意到,我使用 dd()作为调试帮助程序,以查看当前的Route参数是否被拉动。

router.php定义中没有问题,因为我在尝试实现这个方便之前已经对它们进行了测试" hack"拉动当前的物体。

获取当前Route params的任何帮助?

谢谢!

1 个答案:

答案 0 :(得分:0)

哦,是的,我在发布这个问题后想出来了!

如果有人遇到和我一样的问题,我会留下答案。

你需要在追加任何其他请求之前拉出当前()路径,所以在我的情况下,我应该已经完成​​了

  

Route :: current() - > getParameter('MY PARAM NAME')

应该是它