方法App\Livewire\ListStudents::索引不存在

问题描述 投票:0回答:1

larvel 新手正在尝试视频教程...我陷入了这个基本的事情...不太确定我做错了什么...

web.php

use App\Livewire\ListStudents;
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\ProfileController;

Route::get('/', function () {
    return view('welcome');
});  
    
Route::middleware('auth')->group(function () {
    
    Route::get('/students',[ListStudents::class,'index'])->name('students');
});

require __DIR__.'/auth.php';

ListStudents.php

namespace App\Livewire;

use App\Models\Student;
use Livewire\Attributes\Layout;
use Livewire\Component;

class ListStudents extends Component
{

    #[Layout(name: "layouts.app")]
    public function render()
    {
        return view('livewire.list-students',data: [
            'students'=> Student::all(),
        ]);
    }
}

我已经尝试过了

Route::get('/students',[ListStudents::class,'index'])->name('students.index');
Route::get('/students',[ListStudents::class,'index']);

一直给我这个错误:

BadMethodCallException - 方法 App\Livewire\ListStudents::index 不存在。

根据视频中的原始代码

Route::get('/students',[ListStudents::class])->name('students.index');

给我这个错误

ReflectionException - Function () 不存在

我做错了什么?我的项目设置错误吗?授权似乎效果很好(使用入门套件)。

使用 Laravel 11 和 Livewire 3

php laravel-livewire laravel-routing laravel-11 livewire-3
1个回答
0
投票

你应该这样设置路线。

Route::get('/students', ListStudents::class)->name('students.index');

您正在传递一个包含单个元素的数组。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.