我有以下模型观察者:
class UserObserver {
/**
* @var \Illuminate\Http\Request
*/
protected $request;
/**
* UserObserver constructor.
*
* @param \Illuminate\Http\Request $request
*/
public function __construct(Request $request)
{
$this->request = $request;
}
/**
* User created
*
* @param User $user
* @throws \Exception
*/
public function created(User $user)
{
try {
// Create the user's first profile for them.
$profile = $user->profiles()->create([ 'name' => $this->request->get('username'), 'description' => null ]);
// Set the users active profile to the one just created.
$user->active_profile = $profile->id;
$user->save();
} catch(\Exception $e) {
throw new \Exception($e->getMessage());
}
}
}
我还有一个用户表种子设置了新的请求:
$request = new \Illuminate\Http\Request();
$request->replace(['username' => $user['username']]);
目前,正在运行播种器时,正在设置请求,并且已验证该请求在播种器类中正常工作,但是,一旦到达模型观察器,请求将为空(空)。
我要达到的目的是创建一个新用户,然后为基于该用户的用户创建一个新的配置文件,我希望该配置文件具有该用户输入的名称,但在播种机正在运行。
我希望这有意义吗?