2016-02-18 18 views
0

我有一條路線,我聲明如此;帶參數的參考路線 - Laravel /流明

Route::get('invite/{code}', ['middleware' => ['qwickLoggedIn'], 'uses' =>'[email protected]_invite'])->name('signup_invite'); 

正如你所看到的路線有一個參數{code} 我如何參考使用routeurl的路線?

像以下代碼那樣?

public function account_verification() { 

    $referer = Request::header('referer'); 

    if ($referer != url('login') && $referer != url('signup') && $referer != url('invite/{code}') && $referer != url('account-verification-code')) { 
     return redirect()->route('/'); 
    } 

    $year = $this->copyright_info('2015'); 
    return view('pages.account-verification', ['year' => $year]); 
} 

我把$referer != url('invite/{code}'),但這是行不通的。也$referer != url('invite')不工作,以及...同樣使用route('signup_invite');

我得到UrlGenerationException in UrlGenerationException.php line 17: Missing required parameters for [Route: signup_invite] [URI: invite/{code}].

任何幫助表示讚賞

+0

您是說'$ URL =路線( 'routeName',[ 'ID'=> 1]);' –

+0

@JilsonThomas代碼ABO ve在我的'controller'中我使用if語句來確保頁面只能通過某些頁面訪問。所以我在檢查'referrer'這裏唯一的問題是我該如何引用帶參數的'url' ...並且參數可以是任何東西 –

+0

您可以使用'route('routeName')'和' route('routeName',['code'=> 123]);'爲此。 –

回答

0

它看起來凌亂,但可以使用parse_url功能&然後把條件分析$referrer錯誤各組分:

$referer = Request::header('referer'); 

$path = parse_url($referer, PHP_URL_PATH); 
$path = explode('/', $path); 

if ($referer != url('login') && $referer != url('signup') && (parse_url($referer, PHP_URL_HOST) == parse_url(url('/'), PHP_URL_HOST) && $path[1] == 'invite' && !empty($path[2])) && $referer != url('account-verification-code')) { 
    return redirect()->route('/'); 
}