Laravel: получить URL из маршрутов по имени

Я пытаюсь сделать что-то немного другое, и я не мог найти любой способ сделать это. Возможно, мой подход неверен, но в любом случае я подумал, что могу найти здесь помощь.

у меня есть проект Laravel 5, и вы знаете, как получить текущее имя маршрута, используя:

Request::route()->getName();

Так что я на самом деле хочу сделать прямо противоположное. Возможно, не совсем наоборот, но мне нужно получить URL-адрес маршрута на основе имени, которое я дал этому маршруту. Вот моя мечта. сценарий.

мой маршруты.на PHP:

Route::any('/hos', "HospitalController@index")->name("hospital");

Что Я хотел бы сделать в моем контроллере, что я понятия не имею, как или даже если это возможно:

// I have no idea if this is possible but thats what I'm trying to accomplish
$my_route_url = Request::route()->getURLByName("hospital");

echo $my_route_url; // this would echo: "/hos"

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

спасибо!

2 ответов


$url = route('routeName');

Если есть param

$url = route('routeName', ['id' => 1]);

https://laravel.com/docs/5.1/helpers#method-route


Я думаю, вы пытаетесь переименовать свой маршрут в указанный В сети.файл php

Route::get('anyroute', array('as' => 'newname', function() {
    $url = route('new_name');
    return "This is the $url";    
}));