我正在使用Laravel 5.2和l5-repository 2.1进行开发。我创建了一些工作正常的存储库,但过了一段时间,我回到项目并自我更新了作曲家并创建了一些新的视图和一个新的模型和相应的存储库。但是找不到Class的例外。当我将新模型从Models文件夹移动到存储库文件夹时,错误消失。有人可以帮忙吗?
Container.php第734行中的ReflectionException: Class App \ Repositories \ Tour不存在
这是堆栈跟踪:
在ReflectionClass中的Container.php第734行 - > __构造(' App \ Repositories \ Tour')在Container-> build(' App \ Repositories \)的Container.php第734行中在Container的>中的Container.php第629行中的Tour',array())在应用程序中的Application.php第697行中生成(' App \ Repositories \ Tour',array())>在BaseRepository.php第176行的BaseRepository.php第176行中创建(' App \ Repositories \ Tour')在BaseRepository中的BaseRepository.php第92行中的makeModel()和在ReflectionClass中的__ construct(object(Application)) - > newInstanceArgs(array(object(Application)))在容器中的Container.php第779行 - >在Container的Container.php第629行中构建(' App \ Repositories \ TourRepositoryEloquent',array()) - > make(' App \ Repositories \ TourRepositoryEloquent',array())在Application.php第697行的Application-> make(' App \ Repositories \ TourRepositoryEloquent',array( ))在Container-> Illuminate \ Container {closure}(对象(应用程序)中的Container.php第230行) ),Container())在Container-php第731行的Container-> build(object(Closure),array())在Container.php第629行的Container-> make(' App \ Repositories \ TourRepository& #39;,array())在Application.php第697行的Application-> make(' App \ Repositories \ TourRepository')中Container.php第849行的Container-> resolveClass(object(ReflectionParameter) ))在Container.php第804行的Container-> getDependencies(数组(对象(ReflectionParameter),对象(ReflectionParameter),对象(ReflectionParameter),对象(ReflectionParameter),对象(ReflectionParameter),对象(ReflectionParameter),对象(ReflectionParameter) ),Container.php第629行中的Container.> build(' App \ Http \ Controllers \ HomeController',array())中的对象(ReflectionParameter)),array())在Container-> make(' App \ Http \ Controllers \ HomeController',array())在Application.php第697行的Application-> make(' App \ Http \ Controllers \ HomeController& #39;)在ControllerDispa中在CONTROLDispatcher-> dispatch(对象(路径),对象(请求),在ControllerDispatcher.php第52行的ControllerDispatcher-> makeController(' App \ Http \ Controllers \ HomeController')中的tcher.php第67行, ' App \ Http \ Controllers \ HomeController',' welcome')在Route.php第174行的Route-> runController(对象(请求))在Route.php第140行的Route - >运行(对象(请求))在Route.php第724行的Router-> Illuminate \ Routing {closure}(对象(Request))在call_user_func(object(Closure),object(Request))中的Pipeline.php第52行
答案 0 :(得分:0)
有两件事可能会引发这个问题。首先是一个糟糕的类缓存。试试artisan cache:clear
。
第二个是Laravel的自动加载器根据其命名空间查找类。如果您在查找文件时没有更新命名空间,Laravel可能无法找到它。
答案 1 :(得分:0)
在存储库实现类TourRepositoryEloquent中,model函数返回Tour :: class。我将其更改为“App \ Models \ Tour”,它现在正常工作。我错过了配置吗?