这是我使用 Laravel 的第一天。我制作了一个先前名为 Title
的模型,就在迁移它之前,我决定将名称更改为 Blog
,在此过程中,我将迁移文件更改为 create_blogs_table
我还将模型类和文件名更改为“Blog”,并且毫无问题地迁移了它。但是,当我运行 Tinker 并尝试执行简单的 Blog::all()
时,它给出了此错误
PHP Error: Class "Blog" not found in Psy Shell code on line 1
当我运行 Title::all()
时,它给了我这个错误
[!] Aliasing 'Title' to 'App\Models\Title' for this Tinker session.
<warning>PHP Warning: include(C:\coding\laravel\laravelcwd\vendor\composer/../../app/Models/Title.php): Failed to open stream: No such file or directory in C:\coding\laravel\laravelcwd\vendor\composer\ClassLoader.php on line 571</warning>
<warning>PHP Warning: include(): Failed opening 'C:\coding\laravel\laravelcwd\vendor\composer/../../app/Models/Title.php' for inclusion (include_path='C:\coding\xampp\php\PEAR') in C:\coding\laravel\laravelcwd\vendor\composer\ClassLoader.php on line 571</warning>
<warning>PHP Warning: Class "App\Models\Title" not found in C:\coding\laravel\laravelcwd\vendor\laravel\tinker\src\ClassAliasAutoloader.php on line 109</warning>
PHP Error: Class "Title" not found in Psy Shell code on line 1
我的假设是我没有更改项目中某处的命名空间。所以我检查了我的模型文件
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Blog extends Model
{
use HasFactory;
}
有人可以对此做出解释吗,我们将不胜感激,提前谢谢您!
最佳答案
您可以在项目根目录的终端中运行命令composer dump-autoload
。
此命令重新生成项目中需要包含的所有类的列表 (autoload_classmap.php)。
关于php - 更改模型名称 Laravel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72061200/