Php 缺少路由参数-参数已传递给route()方法

Php 缺少路由参数-参数已传递给route()方法,php,laravel,routes,laravel-5.4,Php,Laravel,Routes,Laravel 5.4,我在Laravel 5.4中遇到路由问题。我正在尝试为一家公司显示一个简单的编辑表单 我得到的错误是 web.php: $this->get('company/edit/{company}','SuperAdmin\CompanyController@showEditForm')->name('company.edit'); $this->post('company/edit', 'SuperAdmin\CompanyController@edit'); 我如何建立到路线的

我在Laravel 5.4中遇到路由问题。我正在尝试为一家公司显示一个简单的编辑表单

我得到的错误是

web.php:

$this->get('company/edit/{company}','SuperAdmin\CompanyController@showEditForm')->name('company.edit');
$this->post('company/edit', 'SuperAdmin\CompanyController@edit');
我如何建立到路线的链接:

<a href="{{route('company.edit', ['company' => $company->id])}}" class="btn btn-success">Edit</a>

解决方法:亲爱的上帝,我忘记在渲染表单的视图中将参数添加到
route()
方法中。谢谢大家。

您不需要为route变量定义键,只需在
route
函数中将其作为第二个参数传递即可。Laravel将自动解析订单中的参数

比如:

route('company.edit',  $company->id);

希望能有帮助

首先,您可以像调试
dd($company->id)
那样调试id,以确保您确实获得了所需的id,因为如果它的
null
将无法工作


这听起来很傻,但它确实发生了。

我也试过,但没有成功。在这两种情况下,当我查看URL时,参数都在那里,但错误仍在发生。@Danijelb那么您确定您没有在其他任何地方使用相同的路由吗?在导航,标题等。不,这是我第一次添加这个。在Laravel中,路由的工作原理很简单,但我就是不知道我做错了什么。@Danijelb您能分享您得到的完整错误,包括文件名和行号吗?请查看编辑后的问题以了解完整错误hmm。。。当您在浏览器中点击
localhost/your project/company/edit/2
URL时,会发生什么情况?编辑页面出现了吗?没有,如果您试图直接访问它,它仍然是相同的错误尝试使参数可选
'company/edit/{company?}
并查看出现了什么,尝试像
dd($request->company)
那样调试它,以查看您是否从url获取
id
。无论如何,错误似乎在视图文件中,所以您应该能够在启动视图之前调试它。我可以看看你的视图文件吗?我有同样的问题,这就是问题所在!尝试
php artisan route:clear
,然后检查是否出现相同的错误。尝试后,错误将保持不变。
route('company.edit',  $company->id);