2017-01-30 68 views
0

有沒有辦法改變一個或多個「路徑參數」,並根據修改後的參數重新構建URL,例如:更改「$ page」值。Laravel 5:替換參數值,然後檢索URL

我嘗試過很多辦法:

Route::current()->setParameter('page', ++$page); 
// also try 
Request::route()->setParameter('page', ++$page); 

但始終重新請求時,網址:

$request->path(); //return path with origin parameter value 
$request->url(); //return path with origin parameter value 

有沒有辦法來代替「參數」的值,然後檢索與更新值網址是什麼? 感謝,

+0

你究竟想要完成什麼? – Peon

+0

網址更新頁面:..home/category/1 => ..home/category/2(注:頁面不必在網址末尾) – mwafi

+0

並返回響應中的下一頁網址, – mwafi

回答

0

我這樣處理:(在控制器功能)

Request::route()->setParameter('page', ++$page); //new parameter value 
    $parameters = Route::current()->Parameters(); 
    $uri = Route::current()->uri(); 
    $uri = substr($uri, 0, strpos($uri, '/{')); 

    $full_url = Request::fullUrl(); 
    $full_url = substr($full_url, 0, strpos($full_url, $uri)); 
    $full_url = $full_url.$uri.'/'.implode('/',$parameters); 
    return $full_url; 

步驟:

  1. 更新參數值。
  2. 清除參數的原點路線。
  3. 使用「原始路線」從相交的文件夾中清除完整網址。
  4. 重構URL。