diff --git a/app/Repositories/ClientContactRepository.php b/app/Repositories/ClientContactRepository.php index 9419c4012745..7e1ce9d20706 100644 --- a/app/Repositories/ClientContactRepository.php +++ b/app/Repositories/ClientContactRepository.php @@ -82,10 +82,14 @@ class ClientContactRepository extends BaseRepository $update_contact->fill($contact); - if (array_key_exists('password', $contact) && strlen($contact['password']) > 1) { + if (array_key_exists('password', $contact) && strlen($contact['password']) > 1 && strlen($update_contact->email) > 3) { //updating on a blank contact email will cause large table scanning $update_contact->password = Hash::make($contact['password']); - $client->company->client_contacts()->where('email', $update_contact->email)->update(['password' => $update_contact->password]); + $client->company->client_contacts()->where('email', $update_contact->email)->cursor() + ->each(function ($saveable_contact) use ($update_contact){ + $saveable_contact->password = $update_contact->password; + $saveable_contact->save(); + }); } if (array_key_exists('email', $contact)) {