laravel [1049]未知数据库

时间:2019-06-26 15:25:38

标签: mysql laravel

我是laravel的新手,尝试通过控制器查看数据库时当前遇到问题。当我尝试使用控制器查看数据时,出现以下错误。

  

“ SQLSTATE [HY000] [1049]未知数据库'laravel'”。

如果我使用手工艺修补匠,则可以执行:: all()并查看我的数据,我也成功地迁移了我的数据。只是由于某种原因似乎不喜欢我的观点。

我已经查看了建议运行的其他类似答案

php artisan cache:clear

但这对我没有任何帮助。

控制器:

class authorsController extends Controller
{

    public function index(){
        $authorList = \App\Author::all();
        //return $authors;
        return view('library.authors');
    }
}

.env文件内部

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=library
DB_USERNAME=root
DB_PASSWORD=

4 个答案:

答案 0 :(得分:1)

如果您使用php artisan serve运行Laravel,则在停止并重新启动服务器之前,不会接受.env的更改。

启动服务器时,可能已将“ laravel”设置为数据库名称。杀死它,然后再次运行命令。

答案 1 :(得分:0)

尝试此命令列表

php artisan cache:clear
php artisan view:clear
php artisan route:clear
php artisan clear-compiled
php artisan config:cache

将这段代码放入路由web.php中并在浏览器中运行后,这将为您提供数据库是否已连接的信息。

Route::get('/testConnection', function () {
try {
      DB::connection()->getPdo();
      if(DB::connection()->getDatabaseName()){
          echo "Yes! Successfully connected to the DB: " . DB::connection()->getDatabaseName();
          die;
      }else{
          die("Could not find the database. Please check your configuration.");
      }
  } catch (\Exception $e) {
      die($e->GetMessage());
  }
});

希望这会对您有所帮助。

答案 2 :(得分:0)

我不确定为什么还可以,但是我确实找到了对我有用的修复程序。在config.database.php内部,我将'database' => env('DB_DATABASE', 'forge')更改为'database' => env('library', 'library')。我觉得我不必更改这些内容,但是出于某种原因可以纠正该问题。

这使我认为它与.env文件有关,但不确定。我将不得不开始一个新项目,以验证它对我的系统不是很奇怪。

答案 3 :(得分:0)

我试过 php artisan config:clear。我试过 php artisan cache:clear。我创建了数据库。我放弃了它并重新创建了几次。我什至尝试通过更改 .env 中的 DB_DATABASE 值来使用现有数据库,我可以通过 CLI 连接到新数据库和现有数据库。我在 php -m 中看到了驱动程序。因此,要在 Windows 10 上解决此问题,请将 .env 中的 DB_HOST=127.0.0.1 更改为 DB_HOST=localhost 并再次清除配置/缓存。工作了。

相关问题