Hola, soy nuevo en Laravel y Eloquent, todo lo que encontré sobre estos problemas es que puede ser por problemas de sensibilidad de mayúsculas y minúsculas, pero no puedo encontrar ningún problema de mayúsculas y minúsculas.
Class "App\Models\TvEpisode" not found
Estoy tratando de obtener la lista UserTvEpisode para ver que funciona bien en localhost (usando Windows), pero no en el servidor de producción, arroja un error que indica que no se encuentra la clase TvEpisode.
El usuario tiene muchos UserTvEpisode. TvEpisode tiene muchos UserTvEpisode.
Nombres de archivo: TvEpisode.php , UserTvEpisode.php, TvEpisodeController.php
Controlador que intenta obtener la lista:
<?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 ]); } }Modelo 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); } }Modelo de episodio de televisión
<?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); } }¿Que me estoy perdiendo aqui?
Si está seguro de que no hay problemas de distinción entre mayúsculas y minúsculas, puede intentar un par de cosas:
App\Models y el controlador en App\Http\Controllers ? De lo contrario, mueva la clase o cambie el espacio de nombres.composer dump-autoload en el servidor para regenerar la lista de clases utilizadas en el proyecto.Estoy bastante seguro de que una de las soluciones anteriores resolverá su problema.