Laravel 9迁移类语法错误:意外标识符'Schema',期望'function'或'const'
Laravel 9 迁移类语法错误修复
你的迁移代码存在两个核心问题:
- 迁移类必须通过
up()方法定义数据库创建逻辑,不能直接把Schema::create()写在类的根作用域中 - 代码的大括号配对、方法定义格式不符合PHP类语法规范
修正后的完整代码如下:
return new class extends Migration { public function up() { Schema::create('articles', function (Blueprint $table) { $table->increments('id'); $table->string('title'); $table->string('body'); $table->integer('user_id'); $table->timestamps(); }); } public function down() { Schema::dropIfExists('articles'); } };
关键修正说明:
- 新增了
public function up()方法,将创建表的Schema::create()逻辑完全包裹在这个方法内,这是Laravel迁移类要求的标准结构,up()方法负责执行数据库变更操作 - 修正了大括号的嵌套和配对,确保类、方法的语法结构符合PHP规范
- 调整了代码缩进,提升可读性
内容的提问来源于stack exchange,提问作者PHPFan
相关产品推荐
相关产品推荐

