如何在 laravel 中重定向到此 URL?

How to I redirect to this URL in laravel?

这里定义了一些我的路线:

Route::get('/success', function () {
     return view('dashboard/dashboard');

  });

 Route::get('/test/{id?}','TestController@parameter' );

 Route::get('/redd','TestController@redirectest' );

这是控制器方法:

public function redirectest(){

   return redirect()->route('dashboard.dashboard');
  }

现在我有两个名为

的视图
       test.blade.php
       dashboard.blade.php  //In view/dashboard

这里是 test.blade.php 视图,只有一个 link 可以通过控制器方法重定向到仪表板。

 <html>

 <body>
    <h2><a href="/lvel/public/redd/">Click Me To Redirect to DashBoard</a> 
    </h2>

 </body>
 </html>

现在我想做的只是在单击 test.blade.php

中的视图 link 时重定向到 dashboard.blade.php

但我得到了

      Route [dashboard.dashboard] not defined

请帮忙定义这个路由或者解决方法是什么。 我是 Laravel 的新手。 谢谢。

您必须按照 documentation:

命名路线
Route::get('/success', function () {
     return view('dashboard/dashboard');
})->name('dashboard.dashboard');

要使用 route() 功能,您需要为路由命名,如下所示:

Route::get('/success', function () {
    return view('dashboard/dashboard');
})->name('dashboard.dashboard');

希望一定能成功

Route::get('/success', function () {
     return view('dashboard/dashboard');
})->name('dashboard.dashboard');

试试这个简单的解释

Route file

Route::get('/dashboard','TestController@dashboard')->name('dashboard');
or
Route::get('/dashboard', ['as'=>'dashboard', 'uses'=>'TestController@dashboard']);

TestController.php

public function dashboard()
{
   return view('dashboard'); //blade file
}

test.blade.php

<html>
<body>
    <h2><a href="{{ route('dashboard') }}">Click Me To Redirect to DashBoard</a> 
    </h2>
</body>
</html>

路线

Route::get('/dashboard','TestController@dashBoard')->name('dash_board');

控制器

public function dashBoard()
{
   return view('dashboard'); //redirect to view file
}

查看

<a href="{{ route('dash_board') }}">DashBoard</a> 

每个人都已经回答了(尤其是@ka_lin)你的问题,如果你想重定向你只需做一个简单命名的路由并重定向到它:

Route::get('/success', function () {
     return view('dashboard/dashboard');
})->name('dashboard.dashboard');

为了进一步扩展答案,将每个动作添加到 Controller 始终是一个很好的逻辑,您可能会问为什么。因为如果您想使用命令 php artisan route:cache 通过缓存来优化路由,您将会遇到问题:此命令不适用于 Closure based routes (a.k.a 匿名函数)。

通过将路由传递给控制器​​,您可以获得基于 Class 的路由带来的巨大优势。

例如:

Route::get('/dashboard/dashboard','TestController@dashboard' )->name('dashboard.dashboard');

并且在 dashboard 函数中,您可以像在 Closure:

中一样调用视图
return view('dashboard/dashboard');

更不用说一切都井井有条地组织在小的逻辑隔间中。