Laravel: class App\Posts 不存在
Laravel: class App\Posts does not exists
我在 Laravel 中多次遇到此错误,因为使用的模型 classes 表示此 class 不存在,而它确实存在。其中之一是当我 运行 App\Post::count()
和 tinker 得到这个:
PHP Fatal error: Class 'App/Post' not found in Psy Shell code on line 1
其中一次是当我尝试用模型为数据库播种时。这是模型内容:
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']);
}
}
出现此错误:Class 'App\Dog' 未找到。这适用于我创建的每个模型。
任何解决方案? (Laravel -V: 5.4, PHP -V: 7.2, Apache 网络服务器)
在某些服务器上,您需要在 App 前加上 \,例如:
命名空间 \App;
同样在上述变化之后:
- 还要仔细检查 class 模型中的名称
- 运行作曲家dump-autoload
- php artisan cache:clear
在 laravel 5.8 上尝试使用 php v7.2 修复相同问题约半小时后,我注意到我的 php 文件以 <?
输出开始定界符。将 <?
更改为 <?php
解决了我的问题。
有时需要清除缓存,这个命令对我有效:
composer dump-autoload
希望对你也有用
问候
使用此路径。
>>> App\Models\Post
使用此路径,希望您得到答案
App\Models\Post
不要使用此路径
App\Post
使用此路径
App\Models\Post
我在使用 App\Post::count()
时遇到了类似的问题,但是当我在 Post 之前添加模型时它起作用了。你也可以试试那个。
App\Models\Post::count()
因此,在您的情况下:
App\Models\Dog
我在 Laravel 中多次遇到此错误,因为使用的模型 classes 表示此 class 不存在,而它确实存在。其中之一是当我 运行 App\Post::count()
和 tinker 得到这个:
PHP Fatal error: Class 'App/Post' not found in Psy Shell code on line 1
其中一次是当我尝试用模型为数据库播种时。这是模型内容:
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']);
}
}
出现此错误:Class 'App\Dog' 未找到。这适用于我创建的每个模型。
任何解决方案? (Laravel -V: 5.4, PHP -V: 7.2, Apache 网络服务器)
在某些服务器上,您需要在 App 前加上 \,例如: 命名空间 \App;
同样在上述变化之后:
- 还要仔细检查 class 模型中的名称
- 运行作曲家dump-autoload
- php artisan cache:clear
在 laravel 5.8 上尝试使用 php v7.2 修复相同问题约半小时后,我注意到我的 php 文件以 <?
输出开始定界符。将 <?
更改为 <?php
解决了我的问题。
有时需要清除缓存,这个命令对我有效:
composer dump-autoload
希望对你也有用
问候
使用此路径。
>>> App\Models\Post
使用此路径,希望您得到答案
App\Models\Post
不要使用此路径
App\Post
使用此路径
App\Models\Post
我在使用 App\Post::count()
时遇到了类似的问题,但是当我在 Post 之前添加模型时它起作用了。你也可以试试那个。
App\Models\Post::count()
因此,在您的情况下:
App\Models\Dog