我有一个应用程序,您可以在其中选择多个客户。
选择客户将生成以下URL:
http://localhost:8000/customer/CUSTOMER_NAME
从那时起,我想选择一个特定的子页面(例如:支持页面)
如何生成以下链接:
http://localhost:8000/customer/CUSTOMER_NAME/support
到目前为止,我总是丢失了我的CUSTOMER_NAME参数,而且我不知道如何保留它。
我使用的框架是Laravel 5.
有什么想法吗?
答案 0 :(得分:2)
您应该通过
将url参数传递给视图来完成此操作我相信你的路线中有这样的东西
Route::get('customer/{id}', 'yourController@yourFunctionName');
然后,在你的控制器中,你可能有
public function yourFunctionName($id)
{
return view('yourViewName')->with('id', $id);
}
然后从您的视图中可以简单地生成url这样的
<a href="customer/{id}/support">Click here</a>
拥有如下所示的网址
http://yourprojectname/customer/18/support
建议:使用主键或任何唯一字段,而不是使用名称,以避免将来出现问题。
此外,您还应使用助手生成网址
答案 1 :(得分:2)
您使用的是named routes吗?
Route::get('customer/{name}', ['as' => 'customer.index', 'uses' => 'CustomerController@index']);
您可以设置这样的新路线:
Route::get('customer/{name}/support', ['as' => 'customer.support', 'uses' => 'CustomerController@support']);
使用支持部分的方法
public function support($name) {
return view('customer.support', [
'name' => $name,
]);
}
在您的布局中,您可以链接到路线。
<a href="{{ route('customer.support', $name) }}">Support</a>
答案 2 :(得分:0)
{{ route('pages.home', $array_of_custom_params) }}
这将生成链接: