【问题标题】:FatalErrorException: Call to undefined function link_to_route()FatalErrorException:调用未定义的函数 link_to_route()
【发布时间】:2017-09-15 08:21:44
【问题描述】:

我是Laravel的新用户,我只是在学习和实践,但是我运行代码时出现以下错误

91c2dfaa1622335ef6854835b55abc4fabeefb25.php 第 33 行中的 FatalErrorException: 调用未定义函数link_to_route()

下面是我的控制器

Route::get('/',  [
    'as' => 'home',
    'uses' => 'PagesController@home'
]);

route::group(['prefix'=>'auth'], function(){

    route::get('register', [
        'as' => 'get_register',
        'uses' => 'Auth/RegisterController@getRegister'
        ]);

    route::post('register', [
        'as' => 'post_register',
        'uses' => 'Auth/RegisterController@register'
        ]);
});

我的教程把控制器放在下面

Route::group(['prefix'=>'auth'], function(){
    Route::get('register',[
        'as' => 'get_register',
        'uses' => 'Auth\AuthController@getRegister'
        ]);
    Route::post('register',[
        'as' => 'post_register',
        'uses' => 'Auth\AuthController@postRegister'
        ]);
});

但在 Auth 文件夹中,我没有 authcontroller,我只有 registercontroller。这是我导航中的链接

<li>{!! link_to_route('get_register','Register')!!}</li>

【问题讨论】:

  • 你使用的是哪个 laravel 版本?
  • 使用路由('get_register');而是

标签: php laravel


【解决方案1】:

在 Laravel 5 中,使用 route() 助手而不是 link_to_route()

{!! route('get_register') !!}

【讨论】:

    【解决方案2】:

    我认为您的代码需要更新如下:

    <li>{!! link_to_route('get_register','Register')!!}</li>
    

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

    你需要安装一个名为"laravelcollective/html": "~5.0"的包

    在你的 composer.json 文件中,写下这一行

    "laravelcollective/html": "~5.0"
    

    然后打开config/app.php文件,在provider数组中,写下这一行:-

    'Collective\Html\HtmlServiceProvider',
    

    接下来,将这些行添加到“别名”数组中:

    'Form' => 'Collective\Html\FormFacade',
    
       'Html' => 'Collective\Html\HtmlFacade',
    

    希望这对你有用!

    【讨论】:

    • 谢谢,这对我有用注册
    • @Ademaintain:很高兴知道我的解决方案适合您,请接受答案。
    • 谢谢,现在我还有一个错误,链接抛出 抱歉,找不到您要查找的页面。 RouteCollection.php 第 179 行中的 1/1NotFoundHttpException:下面是我的控制器 Route::group(['prefix'=>'auth'], function(){ Route::get('register', ['as' => ' get_register', 'uses' => 'Auth/RegisterController@RegistersUsers' ]); Route::post('register', [ 'as' => 'post_register', 'uses' => 'Auth/RegisterController@register' ] ); });我的链接 注册
    【解决方案3】:

    link_to_route 来自 HTML/Form Builder 包,自 Laravel 5.0 版本以来它就不再是它的一部分。如果你使用的是 Laravel 5.0,你可以使用 illuminate/htmllaravelcollective/html。对于 > 5.0,您需要 laravelcollective/html

    【讨论】:

      猜你喜欢
      • 2017-03-06
      • 2016-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-24
      • 1970-01-01
      • 2013-10-30
      • 2015-02-11
      相关资源
      最近更新 更多