/** * Create a new user instance after a valid registration. * * @param array $data * @return User */ public function create(array $data) { $bDaySplit = explode('.', $data['birth_date']); $user = User::create(['username' => $data['name'], 'first_name' => $data['first_name'], 'last_name' => $data['last_name'], 'password' => bcrypt($data['password']), 'birth_date' => Carbon::createFromDate($bDaySplit[2], $bDaySplit[1], $bDaySplit[0]), 'gender' => $data['gender']]); $email = VerifiedEmail::create(['email' => $data['email'], 'user_id' => $user->id]); Bus::dispatch(new EmailCreated($email)); Bus::dispatch(new CreateSettings($user)); Bus::dispatch(new CreateVerifiedPhoneNumber($user, $data['phonefield'], $data['phonefield_country'])); return $user; }