【问题标题】:error empty parameters route() helper function in laravel 6.*laravel 6.* 中的错误空参数 route() 辅助函数
【发布时间】:2020-04-16 18:01:43
【问题描述】:

在 laravel 5.8 版中,当调用带有空参数的 route() 函数时

route('post.edit',['post'=>''])

不要出错。

但在第 6 版中我收到此错误

ErrorException (E_ERROR) [Route: post.edit] [URI: admin/post/{post}/edit] 缺少必需的参数。 (查看:/var/www/html/mysite/resources/views/post/list.blade.php)

现在我如何生成带有 null 或空的 route() url

【问题讨论】:

  • 你能把你的控制器方法和路由包含在web.php中
  • 是否可以向资源控制器的edit route 发送emptynull 参数?

标签: laravel url routes


【解决方案1】:

您的路由被定义为有一个参数,您必须将其定义为一个可选参数才能使用帮助程序生成 URL:

Route::get('post/{post?}/edit', ....)->name('post.edit'); 

不过,我想生成的 URL 与您的路由不匹配。在中间路段有一个可选参数有点奇怪。

【讨论】:

  • 感谢您的回答。但我使用路线资源。如何在路由资源中做到这一点。
  • 你不能......你必须自己定义路线(让资源排除编辑路线并自己定义)......但是没有理由拥有这样的路线首先,这有点意思,因为即使您生成 URL,它也不会与您的路线匹配……编辑某些内容意味着您需要拥有它的标识符,因此您尝试制作的路线不会没有意义
猜你喜欢
  • 2022-08-04
  • 1970-01-01
  • 2016-01-06
  • 1970-01-01
  • 2015-12-07
  • 2015-04-13
  • 2014-04-19
  • 1970-01-01
  • 2018-05-07
相关资源
最近更新 更多