【问题标题】:Laravel Migration Error SyntaxLaravel 迁移错误语法
【发布时间】:2016-08-27 10:32:11
【问题描述】:

我正在尝试迁移(更新)这个,但我不断收到此错误消息:

[Symfony\Component\Debug\Exception\FatalErrorException] 语法错误, 意外'>',期待'

    Schema::table('products', function (Blueprint $table)) {
        $table->string('XXXX', 50)->change();
        $table->string('XXXX', 50)->change();
        $table->string('XXXX', 10)->change();
        $table->String('XXXX', 100)->change();;
        $table->String('XXXX', 100)->change();
        $table->String('XXXX', 100)->change();
        $table->String('XXXX', 50)->change();
        $table->tinyInteger('XXXX')->unsigned()->change();
        $table->tinyInteger('XXXX')->unsigned()->change();
        $table->String('XXXX', 100)->change();
        $table->tinyInteger('XXXX')->unsigned()->change();
        $table->String('XXXX', 50)->change();
        $table->String('XXXX', 50)->change();
        $table->String('XXXX', 50)->change();
        $table->String('XXXX', 50)->change();
        $table->String('XXXX', 50)->change();
        $table->boolean('XXXX')->change();
        $table->boolean('XXXX')->change();
        $table->boolean('XXXX')->change();
        $table->boolean('XXXX')->change();
        $table->boolean('XXXX')->change();
        $table->boolean('XXXX')->change();
        $table->boolean('XXXX')->change();
        $table->boolean('XXXX')->change();
        $table->boolean('XXXX')->change();
        $table->text('XXXX')->change();
        $table->String('XXXX', 100)->change();
        $table->String('XXXX', 100)->change();
        $table->String('XXXX', 100)->change();
        $table->String('XXXX', 100)->change();
        $table->tinyInteger('XXXX')->unsigned()->change();
        $table->tinyInteger('XXXX')->unsigned()->change();
        $table->tinyInteger('XXXX')->unsigned()->change();
        $table->tinyInteger('XXXX')->unsigned()->change();
        $table->String('XXXX', 50)->change();
        $table->String('XXXX', 50)->change();
        $table->String('XXXX', 50)->change();
        $table->String('XXXX', 50)->change();
        $table->text('XXXX');
        $table->timestamps();
    });
}

【问题讨论】:

  • 什么行号?你确定它在这个区块里吗?

标签: database laravel laravel-5 migration


【解决方案1】:

您在第 5 行有 ;;,还有 String 而不是 string

顺便说一句,当您运行migrate 命令时,您可能会从另一个文件(控制器、中间件、帮助程序等)中得到错误。

【讨论】:

    【解决方案2】:

    Laravel Migration Documentation 中,表示使用$table->string('XXXX',50); 创建VARCHAR 等效列。

    因此,$table->String('XXXX', 50)->change(); 语句存在语法错误。您应该将所有String 更改为string

    PS:其实在$table->String('XXXX', 100)->change();;的声明中,你用过;;,不过没关系,不会报错

    【讨论】:

      猜你喜欢
      • 2018-01-07
      • 2018-06-28
      • 2018-06-05
      • 1970-01-01
      • 2014-06-10
      • 2015-12-19
      • 2017-06-18
      • 2018-10-01
      相关资源
      最近更新 更多