SQLSTATE [HY000] [1049] Неизвестная база данных 'laravel' - PullRequest
2 голосов
/ 10 октября 2019

Я получаю эту ошибку при попытке сохранить объект в БД.

SQLSTATE [HY000] [1049] Неизвестная база данных 'laravel' (SQL: вставить в cards (card_price), active, updated_at, created_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_PASSWORD до DB_T_PASSWORD, поскольку это исправило аналогичную проблему ранее. Дважды проверил имя БД , пароли и т. Д., А также другие проекты уже запущены. Я не могу понять это.

Ответы [ 2 ]

3 голосов
/ 10 октября 2019
  1. Перейдите на сервер localhost, удалите базу данных и заново создайте новую с именем cardgame

  2. Перейдите к своему проекту laravel в консолии выполните команду php artisan config:cache. Таким образом будут использоваться все ваши переменные env.

  3. Запустите php artisan:migrate, чтобы запустить миграцию для своей базы данных и создать таблицы.

Если вы выполните вышеупомянутые 3 шага в таком порядке, у вас все будет хорошо.

0 голосов
/ 11 октября 2019

Вы должны очистить кеш, потому что ваша старая конфигурация находится в файле кеша, просто запустите эту команду в вашем терминале для очистки кеша:

php artisan config:cache
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...