[英]how to get url parameter in controller in laravel?
我的視圖刀片......
tableHtml += "<td><a href= '{{url('/add')}}/" + data.hits[i].recipe.label + "'> add to favotite</a></td>";
當我點擊添加到收藏夾時......我在 url 中得到了這個
http://localhost/lily/public/add/Chilli%20Green%20Salad
網站.php
Route::get('/add', 'HomeController@add');
我怎樣才能在控制器中獲取 url 傳遞名稱.....
public function add(Request $request)
{
$request->get("") ////////////how can i get the string i passed on url
}
您需要將參數添加到路由中。 所以,它應該是這樣的:
Route::get('add/{slug}', 'HomeController@add');
和add
方法:
public function add(Request $request, $slug)
那么$slug
變量的值將是Chilli Green Salad
你可以這樣做,
路線
Route::get('add/{data}', 'HomeController@add');
控制器
public function add(Request $request){
// Access data variable like $request->data
}
我希望你會明白。
在您的router.php
:
Route::get('/add/{recipe}', 'HomeController@add'); // if recipe is required
Route::get('/add/{recipe?}', 'HomeController@add'); // if recipe is optional
在您的`控制器中:
public function add(Request $request, $recipe) {
// play with $recipe
}
希望這會有所幫助!
更改您的網址,添加獲取變量
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;
}
這個控制器的路線看起來像這樣
public function controllerMethod(Request $request) {
$key = $request->key
echo $key;
}
這個控制器的路線看起來像這樣
Route::get('someRoute/{key}', $controller . 'controllerMethod');
您可以通過在控制器方法中傳遞與路由中使用的相同名稱的變量來在控制器函數中獲取此參數的值。
public function controllerMethod(Request $request, $key) {
echo $key;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.