使用Laravel 5.4播种机功能时出错

使用Laravel 5.4播种机功能时出错,laravel,Laravel,类型错误:参数1传递给 Illumb\Database\Eloquent\Relations\HasOneOrMany::save()必须是 Illumb\Database\Elount\Model的实例,的实例 照亮\数据库\雄辩\给定集合 我计划生成虚假的日期与配置文件的用户。我有两个模型:用户和配置文件。我已经完成了彼此之间的关系。但是当我执行它的时候,问题来了。以上是我运行播种机时的错误 这是发现bug的类 public function run() { factory(App\

类型错误:参数1传递给 Illumb\Database\Eloquent\Relations\HasOneOrMany::save()必须是 Illumb\Database\Elount\Model的实例,的实例 照亮\数据库\雄辩\给定集合

我计划生成虚假的日期与配置文件的用户。我有两个模型:用户和配置文件。我已经完成了彼此之间的关系。但是当我执行它的时候,问题来了。以上是我运行播种机时的错误

这是发现bug的类

public function run()
{
    factory(App\User::class, 40)->create()->each(
        function($user) {
            $user->profile()->save(
                factory(App\Profile::class, 1)->make()
            );
        }
    );
}

通过调用方法获取关系
$user->profile()
,将以
集合的形式返回相关模型。您可以执行
$user->profile()->first()
来获得类型为
illighted\Database\elount\Model
的单一结果,或者只执行
$user->profile
而不使用
()

我猜您使用的是Laravel 5.4

已对factory()助手方法进行了修改。从文档中:

工厂帮工 调用factory(User::class,1)->make()或factory(User::class,1)->create()将返回一个包含一个项的集合。以前,这将返回单个模型。如果未提供金额,此方法将仅返回单个模型

这意味着您应该从factory()调用中删除1

编辑1:您必须更改此行:

factory(App\Profile::class, 1)->make()
对此

factory(App\Profile::class)->make()

谢谢你的回复。是的,我使用的是laravel 5.4。你能具体说明应该删除什么吗?因为我是初学者,不知道它是如何工作的。
factory(App\Profile::class)->make()