在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服务器)
答案 0 :(得分:3)
有时需要清除缓存,此命令在我的情况下有效:
composer dump-autoload
我希望它也对您有用
致谢
答案 1 :(得分:1)
在尝试使用php v7.2在laravel 5.8上修复了大约半小时的相同问题之后,我注意到,我的php文件以<?
输出定界符开头。将<?
更改为<?php
解决了我的问题。
答案 2 :(得分:0)
在某些服务器上,您需要为App加上\前缀,例如: 命名空间\ App;
也在上述更改之后:
答案 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