【问题标题】:Laravel's Model Factory throwing syntax errorLaravel 的模型工厂抛出语法错误
【发布时间】:2022-03-21 14:39:15
【问题描述】:

我尝试使用工厂通过使用库存迁移/模型/工厂定义来创建用户数量,并在 php artisan tinker 中运行以下命令:$user = factory(App\User::class)->make();

如下所示,我没有对函数进行任何更改;

$factory->define(App\User::class, function (Faker\Generator $faker) {
    return [
        'name' => $faker->name,
        'email' => $faker->safeEmail,
        'password' => bcrypt(str_random(10)),
        'remember_token' => str_random(10),
    ];
});

但我收到以下错误:[Symfony\Component\Debug\Exception\FatalThrowableError] Parse error: syntax error, unexpected '->' (T_OBJECT_OPERATOR), expecting']'

更新

我一定是在某处删除了导致此错误的内容,我不知道它是什么,但我开始了一个新项目并且不再有错误。感谢您的帮助!

【问题讨论】:

  • 我得到了完全相同的错误。我将文件置于源代码控制之下,因此验证没有删除任何行...再次不知道原因是什么,但希望避免重新启动一个全新的项目...有什么建议吗?
  • 这个问题花了2年多,但没有答案是正确的

标签: php laravel-5


【解决方案1】:

如果将工厂调用用括号括起来,然后紧跟对象运算符,会发生什么?不过,期待结束 ] 让我觉得你已经忘记了一个,远远超出了你正在寻找的地方。

【讨论】:

    【解决方案2】:

    你应该用引号把类括起来:

    $user = factory("App\User")->make();
    

    【讨论】:

    • 实际上根据文档两者都很好,这只是在 PHPStorm 中更容易使用,因为这意味着我可以单击该类,它会为我打开它。
    【解决方案3】:

    当我完成我的项目并调试一些类似的错误和解决方案如下:

    1. 让我们检查一下为您显示错误的文件列表。
    2. 让我们检查上面列表的第一个文件。
    3. 如果出现这样的错误:“unexpected '->' (T_OBJECT_OPERATOR)”,可能是上面那行多余的 '->'。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-17
      • 1970-01-01
      • 1970-01-01
      • 2021-01-25
      • 2018-03-28
      • 2018-06-13
      • 2016-01-21
      • 2017-04-11
      相关资源
      最近更新 更多