Я добавил нового слушателя, которого я хочу запустить на Зарегистрированном событии (используя аутентификацию от laravel).
Когда пользователь регистрируется, он также заполняет имя компании, но это поле будет храниться на отдельной таблице. На объекте Register $event
у меня есть доступ только к пользователю. Есть ли способ добавить компанию к этому, чтобы я мог получить доступ к ней в моем слушателе?
Прослушиватель:
public function handle(Registered $event)
{
$user = $event->user;
$account = Account::create([
'company' => $event->company
]);
$user->accounts()->attach($account);
}
Register Controller
protected function validator(array $data)
{
return Validator::make($data, [
'name' => ['required', 'string', 'max:255'],
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
'company' => ['required', 'string', 'max:255'],
'password' => ['required', 'string', 'min:8', 'confirmed'],
]);
}
/**
* Create a new user instance after a valid registration.
*
* @param array $data
* @return \App\User
*/
protected function create(array $data)
{
$user = User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => Hash::make($data['password']),
]);
return $user;
}