2017-03-17 120 views
0

上查看我的链接href是这样的:如何在url中添加字符串ID? Laravel 5.3

<a href="{{ route('message.inbox.detail.id', ['id' => $message->id]) }}" class="btn btn-default"> 
    <span class="fa fa-eye"></span> {{ trans('button.view') }} 
</a> 

我的路线是这样的:

Route::get('message/inbox/detail/{id}', ['as'=>'message.inbox.detail.id','uses'=>'[email protected]']); 

URL的结果是这样的:

http://myshop.dev/message/inbox/detail/58cadfba607a1d2ac4000254 

我控制器是这样的:

public function detail($id) 
{ 
    dd($id); 
} 

如果这样,我成功获得ID

的价值,但我想改变URL的这样的结果:

http://myshop.dev/message/inbox/detail/id/58cadfba607a1d2ac4000254 

我想改变这样的URL,因为在控制器上我想get请求像这样:

public function detail($id, Request $request) 
{ 
    dd($id, $request->all()); 
} 

我该怎么办?

回答

2

你可以改变你的控制器看起来像这样:

public function detail(Request $request, $id) 
{ 
    dd($id, $request); 
} 

这样的要求将在你的方法被注入,你就可以访问它。

+0

它不起作用。 '$ request-> all()'的结果是空的数组 –

+0

似乎url必须像这样改变:http://myshop.dev/message/inbox/detail/id/58cadfba607a1d2ac4000254。但我不知道如何改变它 –

+0

所以,除了我从'$ id'获得id之外,我也想从'Request $ request'获得id。 –

0

要确保你有你的控制器使用

use Illuminate\Http\Request; 

。 你可以得到这样的。

public function detail(Request $request, $id) 
{ 
    dd($id, $request); 
}