缺少路由参数 - param被传递给route()方法

时间:2017-08-13 12:41:02

标签: php laravel routes laravel-5.4

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

我得到的错误是

enter image description here

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>

在控制器中:

public function showEditForm()
{
    return view('super.company.edit');
}

求助:亲爱的上帝,我忘了在我呈现表单的视图中将参数添加到route()方法。谢谢大家。

2 个答案:

答案 0 :(得分:0)

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

喜欢:

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

希望它会有所帮助。

答案 1 :(得分:0)

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

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