我通过修改视图的路径来解决问题。我希望代替/ 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工作。我错了什么?
答案 0 :(得分:0)
一种简单优雅的方式(我认为)是:
{{route('company.detail', ['id' => $company->id, 'name' => strtolower(preg_replace('/[^A-Za-z0-9-]+/', '-', $company->company_name))}}
您可以拥有友好的网址名称。我相信那里有更好的解决方案。
如果路径中有更多参数,则可以使用关联数组并使用值初始化每个参数名称。
控制器现在与id相同。