Laravel:App \ Posts类不存在

时间:2018-07-21 20:20:46

标签: php laravel artisan

在Laravel中,我多次出现此错误,就像使用模型类说该类不存在一样。其中之一是当我与修补匠一起运行App\Post::count()并得到以下消息:

  

PHP致命错误:在第1行的Psy Shell代码中找不到类'App / Post'

其中之一是当我尝试使用模型为数据库播种时。这是模型内容:

namespace App;    
use Illuminate\Database\Eloquent\Model;   
class Dog extends Model
{   
    //   
} 

这是播种者:

<?php
use Illuminate\Database\Seeder;
 use \App\Dog;   
class DogsTableSeeder extends Seeder
{
/**
 * Run the database seeds.
 *
 * @return void
 */
    public function run()
    {
        Dog::query()->create(['name'=>'jack']);
    }
}

出现此错误:未找到“ App \ Dog”类。这适用于我创建的每个模型。
有什么办法吗? (Laravel -V:5.4,PHP -V:7.2,Apache Web服务器)

8 个答案:

答案 0 :(得分:3)

有时需要清除缓存,此命令在我的情况下有效:

composer dump-autoload

我希望它也对您有用

致谢

Screenshot

答案 1 :(得分:1)

在尝试使用php v7.2在laravel 5.8上修复了大约半小时的相同问题之后,我注意到,我的php文件以<?输出定界符开头。将<?更改为<?php解决了我的问题。

答案 2 :(得分:0)

在某些服务器上,您需要为App加上\前缀,例如: 命名空间\ App;

也在上述更改之后:

  • 还要仔细检查模型中的类名
  • 运行composer dump-autoload
  • php artisan cache:clear

答案 3 :(得分:0)

Actuallay我无法解决问题,所以我不得不用相同的文件创建另一个项目。 现在它可以正常工作,我只是不知道我上一个项目出了什么问题。 所以我不会将此问题标记为已回答!

答案 4 :(得分:0)

使用此路径。

>>> App\Models\Post

答案 5 :(得分:0)

使用此路径,希望您得到答案

App \ Models \ Post

答案 6 :(得分:0)

请勿使用此路径

App\Post

使用此路径

App\Models\Post

答案 7 :(得分:0)

我在使用 App\Post::count() 时遇到了类似的问题,但是当我在 Post 之前添加模型时它可以工作。你也可以试试那个。

App\Models\Post::count()

所以,就你而言:

App\Models\Dog