热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何在Laravel5表单请求中使用请求路由参数?-HowtousetherequestrouteparameterinLaravel5formrequest?

IamnewtoLaravel5andIamtryingtousethenewFormRequesttovalidateallformsinmyapplic

I am new to Laravel 5 and I am trying to use the new Form Request to validate all forms in my application.

我是Laravel 5的新手,我正在尝试使用新的表单请求来验证我的应用程序中的所有表单。

Now I am stuck at a point where I need to DELETE a resource and I created a DeleteResourceRequest for just to use the authorize method.

现在我被卡住了,我需要删除一个资源,我创建了一个DeleteResourceRequest用于仅仅使用授权的方法。

The problem is that I need to find what id is being requested in the route parameter but I cannot see how to get that in to the authorize method.

问题是我需要在route参数中找到被请求的id,但是我不知道如何将其传递给authorize方法。

I can use the id in the controller method like so:

我可以在controller方法中使用id,如下所示:

public function destroy($id, DeletePivotRequest $request)
{
    Resource::findOrFail($id);
}

But how to get this to work in the authorize method of the Form Request?

但是如何在表单请求的授权方法中使其工作呢?

4 个解决方案

#1


46  

That's very simple, just use the route() method. Assuming your route parameter is called id:

这非常简单,只需使用route()方法。假设您的路由参数名为id:

public function authorize(){
    $id = $this->route('id');
}

#2


5  

You can accessing a Route parameter Value via Illuminate\Http\Request instance

您可以通过illumin\ Http\请求实例访问路由参数值

public function destroy($id, DeletePivotRequest $request)
{
    if ($request->route('id'))
    {
        //
    }

    Resource::findOrFail($id);
}

#3


4  

Laravel 5.2, from within a controller:

Laravel 5.2,来自控制器内部:

use Route;

...

Route::current()->getParameter('id');

I've found this useful if you want to use the same controller method for more than one route with more than one URL parameter, and perhaps all parameters aren't always present or may appear in a different order...

我发现,如果您想对具有多个URL参数的多个路由使用相同的控制器方法,并且可能所有参数并不总是存在,或者可能以不同的顺序出现……

i.e. getParameter('id')will give you the correct answer, regardless of {id}'s position in the URL.

例如,getParameter('id')将给出正确的答案,而不考虑{id}在URL中的位置。

See Laravel Docs: Accessing the Current Route

参见Laravel文档:访问当前路径

#4


0  

I came here looking for an answer and kind of found it in the comments, so wanted to clarify for others using a resource route trying to use this in a form request

我在这里寻找答案,并在评论中找到了答案,所以我想为使用资源路径的其他人澄清一下,试图在表单请求中使用它

as mentioned by lukas in his comment: Given a resource controller Route::resource('post', ...) the parameter you can use will be named post

正如lukas在他的评论中提到的:给定一个资源控制器路由::resource('post',…),您可以使用的参数将被命名为post

This was usefull to me but not quite complete. It appears that the parameter will be the singular version of the last part of the resource stub.

这对我来说是有用的,但还不够完整。似乎该参数将是资源存根最后部分的惟一版本。

In my case, the route was defined as $router->resource('inventory/manufacturers', 'API\Inventory\ManufacturersController');

在我的例子中,路由被定义为$router->资源(“库存/制造商”、“API\库存制造商控制器”);

And the parameter available was manufacturer (the singular version of the last part of the stub inventory/manufacturers)

可用的参数是制造商(存根库存/制造商的最后一部分的单一版本)


推荐阅读
  • 本文介绍了PHP常量的定义和使用方法,包括常量的命名规则、大小写敏感性、全局范围和标量数据的限制。同时还提到了应尽量避免定义resource常量,并给出了使用define()函数定义常量的示例。 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • PHP图片截取方法及应用实例
    本文介绍了使用PHP动态切割JPEG图片的方法,并提供了应用实例,包括截取视频图、提取文章内容中的图片地址、裁切图片等问题。详细介绍了相关的PHP函数和参数的使用,以及图片切割的具体步骤。同时,还提供了一些注意事项和优化建议。通过本文的学习,读者可以掌握PHP图片截取的技巧,实现自己的需求。 ... [详细]
  • Commit1ced2a7433ea8937a1b260ea65d708f32ca7c95eintroduceda+Clonetraitboundtom ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • C++中的三角函数计算及其应用
    本文介绍了C++中的三角函数的计算方法和应用,包括计算余弦、正弦、正切值以及反三角函数求对应的弧度制角度的示例代码。代码中使用了C++的数学库和命名空间,通过赋值和输出语句实现了三角函数的计算和结果显示。通过学习本文,读者可以了解到C++中三角函数的基本用法和应用场景。 ... [详细]
  • 本文讨论了在手机移动端如何使用HTML5和JavaScript实现视频上传并压缩视频质量,或者降低手机摄像头拍摄质量的问题。作者指出HTML5和JavaScript无法直接压缩视频,只能通过将视频传送到服务器端由后端进行压缩。对于控制相机拍摄质量,只有使用JAVA编写Android客户端才能实现压缩。此外,作者还解释了在交作业时使用zip格式压缩包导致CSS文件和图片音乐丢失的原因,并提供了解决方法。最后,作者还介绍了一个用于处理图片的类,可以实现图片剪裁处理和生成缩略图的功能。 ... [详细]
  • 在springmvc框架中,前台ajax调用方法,对图片批量下载,如何弹出提示保存位置选框?Controller方法 ... [详细]
  • IjustinheritedsomewebpageswhichusesMooTools.IneverusedMooTools.NowIneedtoaddsomef ... [详细]
  • 本文讨论了如何在codeigniter中识别来自angularjs的请求,并提供了两种方法的代码示例。作者尝试了$this->input->is_ajax_request()和自定义函数is_ajax(),但都没有成功。最后,作者展示了一个ajax请求的示例代码。 ... [详细]
  • 使用圣杯布局模式实现网站首页的内容布局
    本文介绍了使用圣杯布局模式实现网站首页的内容布局的方法,包括HTML部分代码和实例。同时还提供了公司新闻、最新产品、关于我们、联系我们等页面的布局示例。商品展示区包括了车里子和农家生态土鸡蛋等产品的价格信息。 ... [详细]
  • JavaWeb中读取文件资源的路径问题及解决方法
    在JavaWeb开发中,读取文件资源的路径是一个常见的问题。本文介绍了使用绝对路径和相对路径两种方法来解决这个问题,并给出了相应的代码示例。同时,还讨论了使用绝对路径的优缺点,以及如何正确使用相对路径来读取文件。通过本文的学习,读者可以掌握在JavaWeb中正确找到和读取文件资源的方法。 ... [详细]
author-avatar
郭昊天886688
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有