Laravel资源路由中的多个通配符

时间:2016-02-16 08:53:38

标签: php laravel routing

我宣布资源路线如下

  

路线::资源( '{塞} /用户', 'ManageUsersController');

这给了我一条路线

  

{蛞蝓} /用户/ {ID}

其中slug是公司名称的slug,id是用户的特定id。

在视图中,我声明了锚标记:<a href=user/{!! $user->id!!}&gt;用户</a> 这将我引导到ManageUserController

中的函数show
 public function show($id)
    {
        return $id;
    }

但返回结果是slug,而不是用户的id。我的网址为project/company-name/user/5

我哪里出错了?我怎样才能获得用户ID而不是slug?

-thanx

2 个答案:

答案 0 :(得分:1)

你必须在你的方法中捕获slug和id,所以你的方法会喜欢

public function show($slug, $id)
{
    //for slug
    return $slug;
    //for id
    return $id;
}

答案 1 :(得分:0)

将两个参数传递给控制器​​方法,因为Laravel会将第一个参数视为路径中的第一个参数(这将是你的slug)。