代码之家  ›  专栏  ›  技术社区  ›  Ahmed Syed

重定向到laravel中的route不工作

  •  0
  • Ahmed Syed  · 技术社区  · 6 年前

    我正在努力 拉维尔5.4.36 我的路线的应用程序 标签 在web.php中定义为,

    Route::get('/label/', 'LabelController@index');
    

    但当我试图从控制功能重定向到路由时 标签 使用,

    return redirect()->route('label');
    

    错误:未定义InvalidArgumentException路由[标签]。

    return Redirect::to('label');
    

    错误:fatalerrorexception类'app\http\controllers\redirect'不是 找到了。

    两个都不行,有谁能帮我转到拉雷维尔的路线吗?

    4 回复  |  直到 6 年前
        1
  •  1
  •   brombeer    6 年前

    route() 重定向到命名路由,因此您需要在 routes/web.php 以下内容:

    Route::name('label')->get('/label/', 'LabelController@index');
    

    https://laravel.com/docs/5.4/routing

        2
  •  0
  •   Arya    6 年前

    您可以重写路由到 Route::get('label', 'LabelController@index'); 然后打电话 return redirect()->route('label');

    或者

    重写对的重定向调用 return redirect()->route('/label/');

    请试试这个

        3
  •  0
  •   Shreeraj    6 年前

    在routes/web.php中:

    Route::get('/label/', 'LabelController@index')->name('label');
    

    在labelcontroller中,在函数索引的末尾:

    return redirect()->route('label');
    
        4
  •  0
  •   Salman Zafar Mehran    6 年前

    所以有很多方法可以做到,但我更喜欢下面两种重定向方法。

    1)没有定义路线名称:

    Route::get('/label', 'LabelController@index');
    return redirect('/label');
    

    2)通过定义路线名称:

     Route::get('/label', 'LabelController@index')->name('label');
     return redirect()->route('label');