我在尝试将一个对象保存到DB中时遇到此错误。
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))
.环境
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'),
]) : [],
],
卡片控制器.php
public function generateCards()
{
$card = new Card();
$card->card_price = 0;
$card->active = 1;
$card->save();
}
网页.php
Route::get('/generate-cards', 'CardController@generateCards');
卡片.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
,因为这纠正了之前的一个类似问题。仔细检查了DB名称,密码等,还有其他项目也已经在运行。我无法弄清楚。
6条答案
按热度按时间55ooxyrt1#
1.转到本地主机服务器,删除数据库,然后重新创建一个名为cardgame的新数据库
1.在console中进入你的laravel项目,运行
php artisan config:cache
命令,这样你所有的env变量都会被使用。1.运行
php artisan:migrate
为数据库运行迁移并创建表。如果你按照这个顺序完成以上3个步骤,你应该没问题。
oxalkeyp2#
您必须清除该高速缓存,因为您的旧配置在缓存文件中,只需在终端中运行以下命令即可清除缓存:
2exbekwf3#
你可以通过2个简单步骤解决这个问题。
步进:1
php artisan config:cache
步进:2
php artisan migrate
zpgglvta4#
我有同样的问题,我解决了以下这些步骤:
**1)**停止服务器
**2)**运行
php artisan config:clear
。此命令行将删除 *bootstrap\cache\config.php * 文件**3)**启动服务器,现在应该可以正常工作
disho6za5#
在php admin中创建数据库然后再次迁移你的数据库php artisan migrate,它的工作100%
f5emj3cl6#
我也遇到了同样的错误,并implimented所有上述的解决方案,但错误不断重复发生.但我编辑了.env和env.example文件,其中数据库=“laravel”到我的项目的名称,例如transportsystem和它的工作.最好的解决方案是编辑.env和env.example文件与您创建的数据库的名称.