你好,我是 Laravel 和 Eloquent 的新手,我发现这个问题可以通过大小写敏感问题解决,但我找不到任何大小写问题。
找不到类“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);
}
}
我在这里错过了什么?
最佳答案
如果您确定不存在区分大小写的问题,您可以尝试以下几种方法:
- 检查您的类的命名空间是否正确。这些类是否存在于正确的目录中,
App\Models
中的模型和App\Http\Controllers
中的 Controller ?如果不是,请移动类或更改命名空间。 - 您确定该文件存在于服务器上吗?服务器上的项目是否与您的本地项目保持同步?
- 在服务器上运行
composer dump-autoload
以重新生成项目中使用的类列表。
我很确定上述解决方案之一可以解决您的问题。
关于php - 仅在生产中找不到类 laravel 8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68268983/