【发布时间】:2020-05-21 10:07:33
【问题描述】:
我正在尝试在创建用户时自动为用户创建个人资料。
我正在使用created 事件并覆盖boot() 方法。但是当我在user->profile->create() 上调用create() 方法时,它说create 是在null 上调用的。我检查并在此配置文件为空。
代码如下:
static::created(function ($user) {
// it returns profile as null, thus create() can't be used on null.
$user->profile->create(['title' => $user->username,]);
});
谁能帮我理解这个?它在我导师的代码中工作,他使用的是 Laravel 5.8,但我有 7.1 版。
【问题讨论】:
-
$user->profile与$user->profile()之间存在差异。你要使用的是$user->profile()->create(['title' => $user->username])。 -
谢谢,这是一个愚蠢的错误。我实际上是 laravel 的新手。
标签: laravel events eloquent profile