2015-12-09 83 views
0

我在我的路線文件中有2條路線。路線定義不在Laravel工作

Route::get('/deals/{merchant_name}?c={deal_id}', ['uses' => '[email protected]']); 
Route::get('/deals/{merchant_name}', ['uses' =>'[email protected]']); 

兩個路由呼叫在不同的控制器功能。然而,第一條路線不起作用。

我想在第三個控制器中這個。

return redirect('deals/'.$merchant_name.'?c='.$deal_id); 

然而,當頁面重定向,它呼籲dealsController @指數,而不是dealsvisibleController @指數

有人可以幫我爲什麼發生這種情況。

+0

爲什麼你不得不使用'?c = {deal_id}'而不是'/ {deal_id}'? –

回答

1

Laravel的路由器在將URL與路由匹配時只考慮路徑。因此,如果您重定向到交易/ someMerchant?c = someDealId,那麼它使用交易/ someMerchant來匹配URL。

您需要將第一條路線定義爲特價/ {merchant_name}/{deal_id}才能使此路由按您的需要工作。

+0

謝謝。按照您的建議更改了路徑路徑並使其工作。 –

+0

然後你可以將問題標記爲已回答? –