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

时间:2019-10-10 15:25:42

标签: php mysql laravel laravel-5.8

尝试将对象保存到数据库时出现此错误。

  

SQLSTATE [HY000] [1049]未知数据库“ laravel”(SQL:插入cardscard_priceactiveupdated_atcreated_at)值(0,1,2019-10-10 15:14:43,2019-10-10 15:14:43))

.env

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=cardgame
DB_USERNAME=root
DB_PASSWORD=P@assword1!

Database.php

'mysql' => [
        'driver' => 'mysql',
        'url' => env('DATABASE_URL'),
        'host' => env('DB_HOST', '127.0.0.1'),
        'port' => env('DB_PORT', '3306'),
        'database' => env('DB_DATABASE', 'forge'),
        'username' => env('DB_USERNAME', 'forge'),
        'password' => env('DB_T_PASSWORD', ''),
        'unix_socket' => env('DB_SOCKET', ''),
        'charset' => 'utf8mb4',
        'collation' => 'utf8mb4_unicode_ci',
        'prefix' => '',
        'prefix_indexes' => true,
        'strict' => true,
        'engine' => null,
        'options' => extension_loaded('pdo_mysql') ? array_filter([
            PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
        ]) : [],
    ],

CardController.php

  public function generateCards()
  {
  $card = new Card();
  $card->card_price = 0;
  $card->active = 1;
  $card->save();
  }

Web.php

 Route::get('/generate-cards', 'CardController@generateCards');

Card.php

class Card extends Model
{
 protected  $guarded =[];
}

迁移文件

public function up()
{
    Schema::create('cards', function (Blueprint $table) {
        $table->bigIncrements('id');
        $table->integer('card_price');
        $table->integer('active');
        $table->timestamps();
    });
}

我已经尝试清除缓存,并且还编辑了DB_PASSWORDDB_T_PASSWORD,因为这可以更早地解决类似的问题。仔细检查数据库名称密码等,并且其他项目也已经在运行。我无法弄清楚。

4 个答案:

答案 0 :(得分:3)

  1. 转到您的本地主机服务器并删除数据库,然后重新创建一个名为 cardgame

  2. 的新游戏。
  3. 在控制台中转到您的laravel项目,然后运行php artisan config:cache命令。这样,您的所有env变量都将被使用。

  4. 运行php artisan:migrate为数据库运行迁移并创建表。

如果按照上述顺序执行上述3个步骤,就可以了。

答案 1 :(得分:0)

您必须清除缓存,因为您的旧配置位于缓存文件中,只需在终端中运行以下命令即可清除缓存:

- set_fact:
     inner_value: >-
        {{ (example_text | from_json).a_key
        | map("from_json")
        | map(attribute="inner_key")
        | list
        }}
  vars:
    example_text: |
      {"a_key": ["{\"inner_key\": \"inner value\"}"]}

答案 2 :(得分:0)

您可以通过两个简单的步骤解决此问题。

步骤:1 php artisan config:cache

步骤:2 php artisan migration

答案 3 :(得分:0)

我遇到了同样的问题,我按照以下步骤解决了:

1)停止服务器

2) 运行 php artisan config:clear 。此命令行将删除 bootstrap\cache\config.php 文件

3) 启动服务器,现在应该可以正常工作了