今天在使用一个第三方包 laravel-admin 时,出现了这样的错误:SQLSTATE[42000]: Syntax error or access violation: 1103 Incorrect table name \’\’,折腾了好久,终于知道了解决方法,原来是配置文件的缓存没有清理。
一、问题
vagrant@homestead:~/Code/laravel-shop$ php artisan admin:install
错误提示:
In Connection.php line 664:
SQLSTATE[42000]: Syntax error or access violation: 1103 Incorrect table name \’\’ (SQL: create table “ (`id` int uns
igned not null auto_increment primary key, `username` varchar(190) not null, `password` varchar(60) not null, `name
` varchar(255) not null, `avatar` varchar(255) null, `remember_token` varchar(100) null, `created_at` timestamp nul
l, `updated_at` timestamp null) default character set utf8mb4 collate utf8mb4_unicode_ci)In Connection.php line 452:
SQLSTATE[42000]: Syntax error or access violation: 1103 Incorrect table name \’\’
二、解决方案
database/migrations/2016_01_04_173148_create_admin_table.php
<?php use Illuminate\\Database\\Migrations\\Migration; use Illuminate\\Database\\Schema\\Blueprint; class CreateAdminTable extends Migration { /** * Run the migrations. * * @return void */ public function up() { $connection = config(\'admin.database.connection\') ?: config(\'database.default\'); // dd(app(\'config\')); Schema::connection($connection)->create(config(\'admin.database.users_table\'), function (Blueprint $table) { $table->increments(\'id\'); $table->string(\'username\', 190)->unique(); $table->string(\'password\', 60); $table->string(\'name\'); $table->string(\'avatar\')->nullable(); $table->string(\'remember_token\', 100)->nullable(); $table->timestamps(); }); Schema::connection($connection)->create(config(\'admin.database.roles_table\'), function (Blueprint $table) { $table->increments(\'id\'); $table->string(\'name\', 50)->unique(); $table->string(\'slug\', 50); $table->timestamps(); }); Schema::connection($connection)->create(config(\'admin.database.permissions_table\'), function (Blueprint $table) { $table->increments(\'id\'); $table->string(\'name\', 50)->unique(); $table->string(\'slug\', 50); $table->string(\'http_method\')->nullable(); $table->text(\'http_path\')->nullable(); $table->timestamps(); }); Schema::connection($connection)->create(config(\'admin.database.menu_table\'), function (Blueprint $table) { $table->increments(\'id\'); $table->integer(\'parent_id\')->default(0); $table->integer(\'order\')->default(0); $table->string(\'title\', 50); $table->string(\'icon\', 50); $table->string(\'uri\', 50)->nullable(); $table->timestamps(); }); Schema::connection($connection)->create(config(\'admin.database.role_users_table\'), function (Blueprint $table) { $table->integer(\'role_id\'); $table->integer(\'user_id\'); $table->index([\'role_id\', \'user_id\']); $table->timestamps(); }); Schema::connection($connection)->create(config(\'admin.database.role_permissions_table\'), function (Blueprint $table) { $table->integer(\'role_id\'); $table->integer(\'permission_id\'); $table->index([\'role_id\', \'permission_id\']); $table->timestamps(); }); Schema::connection($connection)->create(config(\'admin.database.user_permissions_table\'), function (Blueprint $table) { $table->integer(\'user_id\'); $table->integer(\'permission_id\'); $table->index([\'user_id\', \'permission_id\']); $table->timestamps(); }); Schema::connection($connection)->create(config(\'admin.database.role_menu_table\'), function (Blueprint $table) { $table->integer(\'role_id\'); $table->integer(\'menu_id\'); $table->index([\'role_id\', \'menu_id\']); $table->timestamps(); }); Schema::connection($connection)->create(config(\'admin.database.operation_log_table\'), function (Blueprint $table) { $table->increments(\'id\'); $table->integer(\'user_id\'); $table->string(\'path\'); $table->string(\'method\', 10); $table->string(\'ip\', 15); $table->text(\'input\'); $table->index(\'user_id\'); $table->timestamps(); }); } /** * Reverse the migrations. * * @return void */ public function down() { $connection = config(\'admin.database.connection\') ?: config(\'database.default\'); Schema::connection($connection)->dropIfExists(config(\'admin.database.users_table\')); Schema::connection($connection)->dropIfExists(config(\'admin.database.roles_table\')); Schema::connection($connection)->dropIfExists(config(\'admin.database.permissions_table\')); Schema::connection($connection)->dropIfExists(config(\'admin.database.menu_table\')); Schema::connection($connection)->dropIfExists(config(\'admin.database.user_permissions_table\')); Schema::connection($connection)->dropIfExists(config(\'admin.database.role_users_table\')); Schema::connection($connection)->dropIfExists(config(\'admin.database.role_permissions_table\')); Schema::connection($connection)->dropIfExists(config(\'admin.database.role_menu_table\')); Schema::connection($connection)->dropIfExists(config(\'admin.database.operation_log_table\')); } }
清除配置文件缓存
vagrant@homestead:~/Code/laravel-shop$ php artisan config:cache
再次执行发布命令,就可以了:
vagrant@homestead:~/Code/laravel-shop$ php artisan admin:install Migrating: 2016_01_04_173148_create_admin_table Migrated: 2016_01_04_173148_create_admin_table Admin directory was created: /app/Admin HomeController file was created: /app/Admin/Controllers/HomeController.php ExampleController file was created: /app/Admin/Controllers/ExampleController.php Bootstrap file was created: /app/Admin/bootstrap.php Routes file was created: /app/Admin/routes.php vagrant@homestead:~/Code/laravel-shop$
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持免费资源网。
暂无评论内容