public function notifySignedUpReferralAgents() { $submissions = FormSubmission::groupBy('email')->get(); foreach ($submissions as $submission) { if (User::where('email', $submission->email)->count() < 1) { $password = str_random(8); $user = new User(['email' => $submission->email, 'status' => User::STATUS_ACTIVE, 'password' => bcrypt($password)]); $user->manage_property = FALSE; $user->save(); $user->assignRole('agent'); $names = explode(' ', $submission->getData('name')); $profile = new Profile(); $profile->fill(['first_name' => array_shift($names), 'last_name' => !empty($names) ? implode(' ', $names) : '', 'mobile_phone_number' => $submission->getData('contact_number'), 'address' => $submission->getData('address') . ', ' . $submission->getData('city')]); $profile->user()->associate($user); $profile->save(); $user->load('profile'); $this->notifyReferralAgent($user, $password); } } }