2016-04-08 2 views
0

Я довольно новый на laravel5, и я пытаюсь создать динамически маршрутную псевдоним под route.phpLaravel 5 названный маршрут с параметром

Это он:

Route::get('/menu/{category}/{product}/{item}', '[email protected]')->name('/{category}/{item}'); 

Я уже пробовал с с «как» и «использует» и я все еще получаю:

/menu/{category}/{product}/{item} 

Со всеми параметрами заменены правильными значениями вместо:

/{category}/{item} 
+0

Извините, я постарался поставить привет, но он выглядит не хочет обновлять, bf кто-то стреляет в меня: D – JroS

+0

Какова ваша цель? – trinvh

+0

Цель - просто заменить отображаемый URL: «http: // localhost: 8080/menu/homme/bijoux/pendentif» на «http: // localhost: 8080/homme/pendentif», где homme - {category} и pendentif is {item] – JroS

ответ

2

Попробуйте:

Route::get('/menu/{category}/{product}/{item}', ['as' => 'a.name.to.your.route' , 'uses' => '[email protected]']); 
+0

Попробуйте расширить свой ответ, что вы сделали, чтобы исправить проблему. – Wowsk

+0

Привет, Луис, такой же результат выглядит так, как не используется – JroS

0

Трактовка что сказал Виниций Луиз.

Route::get('/menu/{category}/{product}/{item}', ['as' => 'named.route' , 'uses' => '[email protected]']); 

// to get the actual linke 
route('named.route', ['category' => $category->id, 'product' => $product->id, 'item' => $item->id]); 

в зависимости, вы не можете сделать -> идентификатор или что-нибудь, вы можете просто передать всю $ категорию, $ продукта и т.д. В зависимости от того, как маршрутизация в контроллерах настроен.

EDIT: Ваш комментарий, он любит, как вы хотите что-то вроде:

class MenuController { 
    public function lisItem($category_name, $product_name) { 
     $category = Category::where('name', $category_name)->first(['id']); 
     $product = Product::where('category_id', $category->id)->where('name', $product_name')->first(); 
    } 
} 

Route::get('/{category}/{item}', ['as' => 'named.route' , 'uses' => '[email protected]']); 

// to get the actual linke 
route('named.route', ['category' => $category->id, 'item' => $item->id]); 

есть, вероятно, лучший способ сделать запросы, но это должно работать для вас.

+0

Привет Kenyon thx для вашего ответа, но вы потеряли меня. Хотя мой вопрос был прост, я просто хочу заменить отображаемый URL другим, используя данный параметр, как показано в примере. Возможно ли это или нет? – JroS

+0

Я не уверен, чего вы пытаетесь достичь? Выполняя то, что я дал вам, вы получите URL-адрес, например '/ menu/10/5/6', который будет разрешен для' MenuController @ listItem' при просмотре. Вы пытаетесь выполнить псевдоним маршрута? Или вы пытаетесь показать URL-адрес другим? Что вы на самом деле хотите, чтобы URL был? – Kenyon

+0

exaclty Я просто хочу, чтобы отображаемый URL-адрес отличался от того, что используется для маршрутизации, чтобы взять ваш пример. Я просто хочу посмотреть/10/6 – JroS

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