【问题标题】:Difference between URL::to and URL::route in laravellaravel 中 URL::to 和 URL::route 的区别
【发布时间】:2015-05-19 04:28:09
【问题描述】:

有什么区别

<a href=" {{ URL::route('/account/register') }}" >Register 1 </a>

<a href=" {{ URL::to('/account/register') }}" >Register 2 </a>

我将 routes.php 定义为

Route::get('/account/register','RegisterController@create');

当我点击“注册 1”时,出现以下错误

Route [/account/register] not defined.

但是当我点击“注册 2”时,它会转到

RegisterController@create 

【问题讨论】:

    标签: php laravel laravel-5 laravel-routing


    【解决方案1】:

    URL::route 获取指定路由的 URL。所以在你的情况下,如果你这样命名你的路线:

    Route::get('/account/register', [
        'name' => 'register', 
        'uses' => 'RegisterController@create'
    ]);
    

    然后你就可以使用了

    <a href="{{ URL::route('register') }}" >Register 1</a>
    

    在刀片模板中。

    【讨论】:

      【解决方案2】:

      Url::route 仅在您已命名路由时使用。因此,如果我将我的路线称为“我的路线”,那么我可以这样称呼它: URL::route('我的路线');

      但是如果你想指向一个只有目的地并且没有命名的路由,那么你应该使用 URL::to

      【讨论】:

        【解决方案3】:

        首先创建命名路由

        Route::get('register',function(){
          return "register page";
        })->name('register');
        

        那么你就可以使用了

         $url = route('register');
        
        <a href="{{url($url)}}">Register</a>
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2019-07-10
          • 2020-03-12
          • 2018-11-18
          • 2016-05-20
          • 2013-06-09
          • 2013-12-31
          • 1970-01-01
          • 2019-02-26
          相关资源
          最近更新 更多