【发布时间】:2020-02-08 02:26:58
【问题描述】:
我在尝试将对象保存到数据库时遇到此错误。
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!
数据库.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,因为这更正了之前的类似问题。仔细检查数据库名称、密码等以及其他项目也已经在运行。我想不通。
【问题讨论】:
-
向我们展示卡片模型并运行
php artisan config:cache命令 -
您是否尝试将
database密钥由cardgame直接更改为Database.php文件? -
@pr1nc3 php artisan config:cache 完成了这项工作。谢谢
-
@Goms 不,但是 forge 无论如何都会采用相同的值,对吧?
-
很高兴我能帮上忙。当您想从头开始创建新数据库并迁移表时,发布了要采取的步骤的完整答案。它也可以为其他用户派上用场。
标签: php mysql laravel laravel-5.8