我试图在服务器上获得一个Laravel项目;一切都在本地工作正常,我将所有文件发送到服务器,更改routes.php和.env,以便一切都可以工作(数据库,查询,路线......)。
我在反向代理后面工作,但让路由工作并不是问题。
我可以登录,但我无法访问或执行使用数据库的任何内容(登录除外)。
示例:
控制器:
public function show($id) {
$compte = Compte::find($id);
$suiviFormation = User_formation::join('formation', 'formation.id_formation', '=', 'user_formation.id_formation')
->join('type_formation', 'formation.id_type_formation', '=', 'type_formation.id_type_formation')
->where('id_compte', $id)
->where(function($query){
$query->where('formation.id_organisme', 1)
->orWhere('formation.id_organisme', Auth::user()->id_organisme);
})
->where('valide', 1)
->orderBy('type_formation.nom', 'asc')
->orderBy('formation.nom', 'asc')
->orderBy('date_formation', 'desc')
->get();
$formations = array();
$types = array();
foreach($suiviFormation as $suivi){
$formations[] = Formation::find($suivi->id_formation);
}
foreach($formations as $formation){
$types[$formation->id_type_formation] = $formation->type_formation->nom;
}
$userPoste = User_Poste::where('id_compte', $id)
->where('date_fin', null)
->first();
$formationsAvailable = Formation::select('formation.id_type_formation', 'formation.nom', 'formation_importance.importance')
->join('formation_importance', 'formation_importance.id_formation', '=', 'formation.id_formation')
->join('poste', 'poste.id_poste', '=', 'formation_importance.id_poste')
->where('formation_importance.id_poste', $userPoste->id_poste)
->where('importance', '!=', 1)
->orderBy('formation.nom', 'asc')
->groupBy('formation.id_formation')
->get();
return view('formation/formation_show', ['compte' => $compte, 'types' => $types, 'suiviFormation' => $suiviFormation,
'formations' => $formations, 'formationsAvailable' => $formationsAvailable]);
}
错误:
QueryException in Connection.php line 624: SQLSTATE[42S02]: Base table or view not found:
1146 Table 'greement.Formation' doesn't exist
(SQL: select * from `Formation` where `Formation`.`id_formation` = 61 limit 1)
每一个错误都是这样的。
知道数据库连接的一部分是否正常工作,其他页面怎么能不起作用?
.env:
APP_ENV=local
APP_DEBUG=true
APP_KEY= appkey
DB_HOST= database.host
DB_DATABASE=greement
DB_USERNAME=user
DB_PASSWORD=*******
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync
编辑:我无法直接访问服务器,我只能使用FTP& phpMyAdmin用于数据库。
答案 0 :(得分:1)
您的服务器上的数据库中没有表。您需要使用php artisan migrate
命令运行迁移,该命令将为您创建表。或者,您可以从数据库转储文件恢复服务器上的DB数据。