在尝试在数据库中插入数据时遇到问题,LARAVEL

我收到此错误“类'App \ Models \ Student'未找到” .

请检查我的代码:

<?php

          namespace App\Http\Controllers;

          use Illuminate\Http\Request;
           use App\Models\Student;
           class StudentController extends Controller
           {
              public function data(){


                   $stud = new Student;
                   $stud->name = 'Mona Lisa';
                   $stud->rollnumber = '001';
                   $stud->save();


             }

}

回答(5)

2 years ago

确保您的学生模型的命名空间

使用 App\Models\Student 如果您的模型在app目录中,则表示模型位于App \ Models目录 use App\Student

最后运行 composer dump-autoload

2 years ago

检查学生模型的命名空间

use App\Models\Student 如果您的模型在app目录中,那么您的模型位于 use App\Models 目录 use App\Student

然后转到命令行并运行 composer dump-autoload

2 years ago

您的错误表明该类未加载到控制器中 . 我猜测你已经为模型创建了一个单独的目录,如果你有,那么你需要更新你的composer文件以包含模型类的新类路径 . 在您的composer.json文件中找到 autoload 并在 classmap 数组中添加一个entery,如下所示

"autoload": {
    "classmap": [
        "database",
        "app/models"
    ]
}

然后在命令行上导航到项目目录并运行以下命令:

composer dump-autoload

如果你没有创建新模型目录,那么就运行

composer dump-autoload

2 years ago

改变这一行:

use App\Models\Student;

至:

use App\Student;

2 years ago

您的错误最有可能出现在 Student 模型的名称空间声明中 .

检查您的类文件 App\Models\Student.php ,命名空间是否正确 .

namespace App\Models;

然后尝试在控制台中运行:

composer dump-autoload