Laravel';s模型工厂引发语法错误


Laravel's Model Factory throwing syntax error

我曾尝试使用factory通过使用股票迁移/模型/工厂定义和在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']'

更新

我一定是在某个地方删除了导致这个错误的东西,我不知道是什么,但我开始了一个新的项目,我不再有错误了。谢谢你帮忙!

如果将工厂调用封装在括号中,紧接着使用对象运算符,会发生什么?尽管如此,期待着]的闭幕会让我觉得你已经忘记了一个,远远不是你要看的地方。

您应该用引号包装类:

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

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

  1. 让我们为您检查错误显示的文件列表
  2. 让我们检查一下这行是上面列表的第一个文件
  3. 如果得到这样的错误:";意外的"->"(T_OBJECT_OPERATOR(";,它可能是多余的"->"在上面的一行