如何获取laravel中控制器的url参数?

如何获取laravel中控制器的url参数?

问题描述:

我看来刀片.....如何获取laravel中控制器的url参数?

tableHtml += "<td><a href= '{{url('/add')}}/" + data.hits[i].recipe.label + "'> add to favotite</a></td>"; 

当我点击加入收藏....我得到这个网址

http://localhost/lily/public/add/Chilli%20Green%20Salad

///web.php

Route::get('/add', '[email protected]'); 

////控制器......我怎么才能在控制器中得到url的通行证名称......

public function add(Request $request) 
{ 

$request->get("") ////////////how can i get the string i passed on url 

} 

您需要将该参数添加到路由。因此,它应该是这样的:

Route::get('add/{slug}', '[email protected]'); 

而且add方法:

public function add(Request $request, $slug) 

然后$slug变量的值将是Chilli Green Salad

https://laravel.com/docs/5.5/routing#required-parameters

在你router.php

Route::get('/add/{recipe}', '[email protected]'); // if recipe is required 
Route::get('/add/{recipe?}', '[email protected]'); // if recipe is optional 

在你的`控制器:

public function add(Request $request, $recipe) { 
    // play with $recipe 
} 

希望这将帮助!

+2

这是阿列克谢的答案的变体 – madalinivascu

改变你的网址,添加一个get variabile的

tableHtml += "<td><a href= '{{url('/add')}}/?slug=" + data.hits[i].recipe.label + "'> add to favotite</a></td>"; 
在您的控制器

您使用

public function add(Request $request) 
{ 

echo $request->slug; 

} 

你可以不喜欢它,

路线

Route::get('add/{data}', '[email protected]'); 

控制器

public function add(Request $request){ 
    // Access data variable like $request->data 
} 

我希望您能理解。

+0

url参数可以通过请求访问,所以有什么问题?你能解释一下吗:D –

+0

我用了很多次,工作你的意思是不好的做法,然后好的:) –