如何在 Laravel 8 中在同一路由中传递两个函数?

How to pass two functions in the same route in Laravel 8?

我有这条路线:

web.php:

Route::get('main',[HomePageController::class,'show']);

通过这个函数:

HomePageController.php

class HomePageController extends Controller
{
    function show()
    {
        $data = Classes::all();
        return view('index',['classes'=>$data]);
    }
}

我想在同一路径中传递另一个函数,但我一直收到“未定义的变量” 每当我尝试这样做时:

web.php

Route::get('main',[HomePageController::class,'show']);
Route::get('main',[HomePageController::class,'showfeeds']);

HomePageController.php

class HomePageController extends Controller
{
    function show()
    {
        $data = Classes::all();
        return view('index',['classes'=>$data]);
    }

    function showfeeds()
    {
        $data = Feeds::all();
        return view('index',['feeds'=>$data]);
    }
}

我做错了什么?

您可以使用单一路由,但将 ClassesFeeds 发送到单一视图(如您所愿):

路线:

Route::get('main',[HomePageController::class,'show']);

控制器:

class HomePageController extends Controller
{
    function show()
    {
        $classes = Classes::all();
        $feeds = Feeds::all();
        return view('index', compact('classes', 'feeds'));
    }
}