在文件 /var/www/html/projects/api/vendor../src/Illuminate/Datab



我所有的 api 在本地主机中都可以正常工作,我把它放在实时服务器 (ubuntu 16.04) 当我请求 GET 以获取项目的特定详细信息时,我收到此错误,我收到此错误。

SymfonyComponentDebugExceptionFatalThrowableError: Class 'AppRewards' not found in file /var/www/html/projectsfundingandsharing/api/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasRelationships.php on line 506
Stack trace:
1. SymfonyComponentDebugExceptionFatalThrowableError->() /var/www/html/projectsfundingandsharing/api/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasRelationships.php:506

为了获得特定的项目,我有很多类模型(我使用了Laravel Elequonet Techniq)

这是我的路由/API .php文件

use IlluminateHttpRequest;
Use AppArticle;
Use AppProjects;
Use AppUser;
Use AppRewards;
Use AppComments;
Use AppUser_address;
Use AppShipping_location;
Use AppProjectController;
Use ApprewardsController;
Use AppstoryController;
Use AppCommentsController;
use AppActivationService;
//everything works fine when i call this api.
Route::get('projects', 'ProjectController@index');
//errors is occurring here when i trying get all relational models class.
Route::get('projects/{id}', function($id) {
$project = Projects::with('rewardsProject.shippings','projectImage', 'projectFaqs','projectStory','userdetails', 'user.user_address')
->where('id', $id)
->get();
return $project;
//return Projects::find($id)->user->user_address; 
});

这是我的项目模型类

namespace App;
use AppProject_images;
use AppComments;
use AppRewards;
use IlluminateDatabaseEloquentModel;
use Eloquent;
use IlluminateSupportFacadesDB;
class Projects extends Model
{
protected $fillable = ['title', 'video_url', 'pledged_amount', 'currency', 'end_date', 'funded_amount', 'percent_funded', 'funding_model', 'start_date', 'duration', 'category_id', 'category_name', 'user_name','user_id', 'total_backers', 'picture', 'links'];

public function projectUser(){
return $this->hasOne('AppUser');
}

public function projectStory(){
return $this->hasOne('AppStory');
}
public function projectFaqs(){
return $this->hasMany('AppFaqs');
}
public function projectRewd()
{
return $this->belongsToMany('AppRewards','rewards', 'projects_id');
// return $this->hasMany('AppRewards');
}
public function projectShip()
{
return $this->belongsToMany('AppShipping_location', 'shipping_locations','reward_id','project_id');
//return $this->belongsToMany('AppRole', 'role_user', 'user_id', 'role_id');
}
public function projectImage()
{  
return $this->hasMany('AppProject_images');
}

public function rewardsProject(){
return $this->hasMany('AppRewards');
}
public function userdetails(){
return $this->hasOne('AppUser','id', 'user_id');
}
public function user(){
return $this->belongsTo('AppUser');
//return $this->hasManyThrough('AppUser', 'AppUser_address');
}
}

这是我的奖励.php模型类

namespace App;
use IlluminateDatabaseEloquentModel;
class rewards extends Model
{
protected $fillable = ['amount', 'delivery_date', 'projects_id', 'quantity', 'backers_count', 'currency', 'contain_shipping_locations', 'title', 'description'];
/*----*/
public function projects() {
return $this->belongsTo('AppProjects');
}
public function shippings(){
return $this->belongsToMany('AppShipping_location','rewards_shipping_location', 'reward_id', 'shipping_location_id');
}


}

像这样,我输入了所有正确的模型类。

请帮助我为什么我得到这个错误,我把AppRewards路径放在所有类文件中,当我删除 routes/api .php文件中的rewardsProject.shippings时,我得到了App/Story not found

您的类未命名AppRewards您将其命名为Apprewards

Linux 区分大小写。自动加载器根据类名查找文件。自动加载机现在正在寻找Rewards.php而不是rewards.php.它无法自动加载您的类。

引用类时始终使用正确的大小写,即使 PHP 不关心,自动加载器必须加载文件,并且文件系统可以区分大小写。只是总是假装区分大小写是一个问题。

相关内容

最新更新