Folgen

Log: Error while fetching customer by email - multiple customers with same email address found

Fehlermeldung im Logfile

Error while fetching customer by email - multiple customers with same email address found

Ursache

Bei einem Loginvorgang wird nach einem Amazon Kunden Login gesucht. Die Abfrage bringt jedoch mehr als 1 Ergebnis mit passender eMail zurück.

Dazugehörende Funktion:

/**
* Fetch customer by email.
*
* @param string $email
*
* @return Customer|null
*
* @throws NonUniqueResultException
*/
public function getCustomerByEmail($email)
{
$connection = $this->modelManager->getConnection();
$users = $connection->fetchAll(
'SELECT su.id FROM s_user su WHERE su.email = :email AND su.active = 1',
[
'email' => $email
]
);

$customer = null;
if (count($users) > 1) {
throw new NonUniqueResultException('email is not unique');
}

if (count($users) === 1 && ($user = current($users)) && isset($user['id'])) {
$customer = $this->getCustomerById($user['id']);
}

return $customer;
}

Lösung

Sorgen Sie dafür, dass es nur einen aktiven User gibt, so das es auch nur ein Kundenkonto gibt, in das man sich einloggen kann. 

War dieser Beitrag hilfreich?
0 von 0 fanden dies hilfreich
Haben Sie Fragen? Anfrage einreichen

Kommentare