ErrorException缺少必需参数laravel

时间:2017-07-21 15:55:22

标签: php laravel-5

我通过修改视图的路径来解决问题。我希望代替/ company / id来显示/ company / id / name

路线:

Route::get('/company/{id}/{name}', 'PagesController@showCompany')->name('company.detail');

在控制器中显示方法:

public function showCompany($id){
        $company = Company::find($id);
        return view('company.show')->with('company', $company);
    }

并且在视图中$ company来自搜索控制器 - 它应该获得带有打开视图的链接的结果

 @foreach($companies as $company)
                <a href="{{route('company.detail', $company->id, $company->company_name)}}">Show detail </a>
 @endforeach

如果只使用像/ company / id这样的id工作。我错了什么?

1 个答案:

答案 0 :(得分:0)

一种简单优雅的方式(我认为)是:

{{route('company.detail', ['id' => $company->id, 'name' => strtolower(preg_replace('/[^A-Za-z0-9-]+/', '-', $company->company_name))}}

您可以拥有友好的网址名称。我相信那里有更好的解决方案。

如果路径中有更多参数,则可以使用关联数组并使用值初始化每个参数名称。

控制器现在与id相同。