2015-09-04 2 views
1

У меня есть один маршрут в моем routes.php какLaravel маршруты не работает для требуемых параметров

Route::get('{subcat}', array(
    'uses' => 'frontend\[email protected]' 
)) 

И я обнаружил, что выше маршрут осуществление моих userlogout маршрута, который, как это.

Route::get('userlogout', array(
    'uses' => 'frontend\[email protected]' 
)); 

Я получаю параметр {subcat} маршрута с точки зрения лезвия как

<a href="{{ subcategoryslug}}">subcategoryname</a> 

Если бы я включил мой {subcat} маршрут routes.php, userlogout маршрут не работает, но, комментируя мой {subcat} маршрут или даже модификации этот маршрут, как:

Route::get('something/{subcat}', array(
     'uses' => 'frontend\[email protected]' 
    )) 

позволяет пользователю выйти из системы.

Что я здесь делаю неправильно? Есть ли что-нибудь, что я не могу указать только route parameter как мой route name?

+1

Вы пробовали написать маршрут пользовательского маршрута ПЕРЕД маршрутом субката? – Amarnasan

+0

@Amarnasan получил его .. Спасибо – Sid

ответ

1

Я думаю, вы можете исправить это, определив маршрут выхода из системы после подкатегории маршрута, как это:

Route::get('{subcat}', array(
    'uses' => 'frontend\[email protected]' 
)); 

Route::get('userlogout', array(
    'uses' => 'frontend\[email protected]' 
)); 

Это происходит потому, что первый маршрут будет соответствовать любому URL с одним параметром. Как я знаю, порядок определения маршрутов важен в таких случаях.

+0

Его работа сейчас .. Я просто хочу спросить, что определяет порядок маршрутизации? Есть ли какие-то особенности? – Sid

+0

Я думаю, вы имеете в виду только что противоположное: «{subcat}» блокирует маршрут «userlogout» – Amarnasan

+0

Порядок маршрутизации - это порядок, в котором вы указываете маршрут в файле routing.php. Первый подходящий маршрут - тот, который используется. – Amarnasan

Смежные вопросы