Laravel - 服务器上的请求错误

时间:2016-06-09 08:09:52

标签: php sql apache laravel

我试图在服务器上获得一个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用于数据库。

1 个答案:

答案 0 :(得分:1)

您的服务器上的数据库中没有表。您需要使用php artisan migrate命令运行迁移,该命令将为您创建表。或者,您可以从数据库转储文件恢复服务器上的DB数据。