2016-06-11 6 views
0

UPDATE: спасибо за предложения ниже. URL-адрес работает нормально, когда я ударил его напрямую из браузера. Предложение ниже с точки зрения синтаксиса, который я понял, как правильно это:Laravel 5.2 маршрут с несколькими параметрами

{{ route('my.route', ['p1' => $var1, 'p2' => $var2, 'p3' => $var3]) }} 

Но я могу видеть это в осматривайте быть решен как:

http://my.url/theroute/var1?var2=xxx&var3=yyy 

Формат маршрута не генерируется правильно, и переменные передаются в качестве параметров URL, а не быть частью URL, как это:

http://my.app/var1/var2/var3 

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


У меня есть маршрут в моем приложении Laravel который выглядит следующим образом:

http://my.app/{p1}/{p2}/{p3} 

Маршрут под названием my.route в списке маршрутов.

В Blade Я пытаюсь открыть этот маршрут. Как мне это сделать. Я безуспешно:

{{ route(['my.route', $var1, $var2, $var3]) }} 

также

{{ route(['my.route', 'p1' => $var1, 'p2' => $var2, 'p3' => $var3]) }} 

также

{{ route('my.route', ['p1' => $var1, 'p2' => $var2, 'p3' => $var3]) }} 

ответ

0
{{ route('my.route', ['p1' => $var1, 'p2' => $var2, 'p3' => $var3]) }} 

Выше правильно. Но я думаю, что вы не можете использовать my.route в качестве имени маршрута, удалить точку и подчеркнуть место.

Или просто используйте URL как обычный текст. HREF = '/ my.app/'{p1}/{p2}/{p3}

Смотрите здесь https://laravel.com/docs/5.2/routing#named-routes

+1

Точки в именах маршрутов в порядке. – ceejayoz

+2

См. Справку https://laravel.com/docs/5.2/routing#named-routes –

+0

Также попробуйте нажать прямо из браузера и посмотреть, есть ли там какая-либо ошибка. –

2

Проблема была в моем определении маршрута. У меня был другой маршрут, который противоречил тому, к которому я пытался получить доступ. Спасибо за помощь!

Правильный синтаксис был:

route('my.route', [$var1, $var2, $var3])