未找到类 laravel 8 仅在生产中

I L*_*kas 5 php laravel eloquent

你好,我是 Laravel 和 Eloquent 的新手,我发现的所有关于这个问题的内容都是大小写敏感问题,但我找不到任何大小写问题。

错误信息

Class "App\Models\TvEpisode" not found

我试图获取 UserTvEpisode 列表以查看它在本地主机(使用 Windows)中工作正常,但在生产服务器上却无法正常工作,会引发未找到类 TvEpisode 的错误。

用户有许多 UserTvEpisode 。TvEpisode 有许多 UserTvEpisode 。

文件名:TvEpisode.php、UserTvEpisode.php、TvEpisodeController.php

尝试获取列表的控制器:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Models\UserTvEpisode;
use App\Models\TvEpisode;
use Auth;

class TvEpisodeController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        $user = Auth::user();    
       
        $allTvEpisodes = UserTvEpisode::with('TvEpisode')->where("user_id", "=",  $user->id)->get();
        
        return view('tvepisode.index',[
            'allTvEpisodes' => $allTvEpisodes
        ]);
    }
}
Run Code Online (Sandbox Code Playgroud)

UserTvEpisode 模型:

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use App\Models\TvEpisode;

class UserTvEpisode extends Model
{
    use HasFactory;
    protected $table = 'user_tv_episodes';

    protected $primaryKey = 'id';

    public $timestamps = true;

    protected $dataFormate ='h:m:s';

    public function TvEpisode(){
        return $this->belongsTo(TvEpisode::class)->withDefault();;
    }
    public function user(){
        return $this->belongsTo(User::class);
    }

}
Run Code Online (Sandbox Code Playgroud)

电视剧集模型

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use App\Models\UserTvEpisode;

class TvEpisode extends Model
{
    use HasFactory;
    protected $table = 'tv_episodes';

    protected $primaryKey = 'id';

    public $timestamps = false;

    protected $dataFormate ='h:m:s';

    public function userTvEpisodes(){
        return $this->hasMany(UserTvEpisode::class);
    }
}
Run Code Online (Sandbox Code Playgroud)

我在这里缺少什么?

Eri*_*eer 9

如果您确定不存在区分大小写的问题,您可以尝试以下几种方法:

  1. 检查类的名称空间是否正确。类是否存在于正确的目录中,模型是否存在于正确的目录中App\Models,控制器是否存在于正确的目录中App\Http\Controllers?如果没有,请移动类或更改命名空间。
  2. 您确定该文件存在于服务器上吗?服务器上的项目与您本地的项目是最新的吗?
  3. composer dump-autoload在服务器上运行以重新生成项目中使用的类列表。

我很确定上述解决方案之一可以解决您的问题。