php - 仅在生产中找不到类 laravel 8

标签 php laravel eloquent

你好,我是 Laravel 和 Eloquent 的新手,我发现这个问题可以通过大小写敏感问题解决,但我找不到任何大小写问题。

: Error message

找不到类“App\Models\TvEpisode”

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

用户有很多 UserTvEpisode 的。 TvEpisode 有很多 UserTvEpisode 的。

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

尝试获取列表的 Controller :

<?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
        ]);
    }
}

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);
    }

}

TvEpisode 模型

<?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);
    }
}

我在这里错过了什么?

最佳答案

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

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

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

关于php - 仅在生产中找不到类 laravel 8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68268983/

相关文章:

php - 如何将图像从 cropit 导出到 php 以进行上传?

php - 0号还没有进入mysql数据库

mysql - 拉维尔 : Migration with Foreign Key

php - Laravel session 立即过期 (Laravel 5.5)

php - 如何访问 PHP Laravel 集合的数据

php - Laravel Eloquent -- 表中的多条记录插入(具有唯一约束的列)

javascript - Echo 最终目标 URL 用于 404 页面 PHP

php - 使用标签和用户名嵌入 Instagram Feed

validation - 如何在 Laravel 中为嵌套输入设置自定义属性标签

php - laravel 中的 groupBy 与 Eloquent 关系