簡體   English   中英

如何在 laravel 的控制器中獲取 url 參數?

[英]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

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

你可以這樣做,

路線

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;

}
  1. 如果您在問號之后將參數附加到 URL,例如

http://www.siteurl.com/someRoute?key=value

這個控制器的路線看起來像這樣

public function controllerMethod(Request $request) {
$key = $request->key
echo $key;
}
  1. 如果您將參數附加到沒有問號的 URL,例如

http://www.siteurl.com/someRoute/value

這個控制器的路線看起來像這樣

Route::get('someRoute/{key}', $controller . 'controllerMethod');

您可以通過在控制器方法中傳遞與路由中使用的相同名稱的變量來在控制器函數中獲取此參數的值。

public function controllerMethod(Request $request, $key) {
echo $key;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM