首页  >  问答  >  正文

如何使用Route::inertia()门面调用Controller?

我可以像这样使用 inertia 提供页面:

Route::inertia('/home', 'home');

要加载包含数据库数据的页面,我必须这样做:

Route::get('/terms', [LegalPageController::class, 'index']);

在控制器中:

class LegalPageController extends Controller
{
    public function index()
    {
        $record = Terms::first();

        return inertia('terms', compact('record'));
    }
}

有什么办法可以将其缩短为:

Route::inertia('/home', 'home', [Controller::class, 'index']);

P粉344355715P粉344355715204 天前422

全部回复(1)我来回复

  • P粉293341969

    P粉2933419692024-03-29 09:23:19

    你不能这样做

    Route::inertia('/home', 'home', [Controller::class, 'index']);
    

    改用这个方法

    #routes/web.php
    Route::get('home', [Controller::class, 'index']);
    
    
    #App\Http\COntrollers\Controller.php
    namespace App\Http\Controllers
    
    class Controller extends Controller {
        # ...
       Inertia::render('home');
    }
    

    回复
    0
  • 取消回复