如何获取并将URL参数传递给Laravel 5.1中的类?

时间:2015-07-18 16:16:57

标签: validation laravel-5 url-parameters

在Laravel 5.1的Routing文档中,它似乎没有说明如何获取并将URL参数传递给类。那么我们应该如何从URL获取路由参数呢?

例如,使用RESTful Resource Controller更新用户的个人资料,您的应用将PATCH( POST实际)修改为:

  

/简档/ 10

因此,当在UpdateUserRequest中的rules()方法内部时,如何从URL获取id 10以验证用户的电子邮件是否像其他用户一样唯一?

public fnction rules()
{
    return [ 'email' => 'uniqie:users,email,'.$id ]
}

如果我dd(Request :: all()),它不包含'id'='10'。 请帮忙。谢谢!

  

更新

Form Request Validation doc中,它说Laravel授予您访问路径/网址参数的权限:

$this->route('id');

但它只适用于非资源路线,如:

Route::post('users/{id}', 'UsersController@store');

不适用于:

Route::resource('users', 'UserController');

那么如何从资源路径获取并传递路由参数?

1 个答案:

答案 0 :(得分:2)

将ID返回给UpdateUserRequest:

$id = $this->route('users');

因为Route:资源会为您/ users / {users}而不是/ users / {id}。

您可以通过命令行使用此命令:

php artisan route:list

帮助您列出所有路线。