public function findUserByContact($id)
{
try {
$qb = $this->createQueryBuilder('user')->leftJoin('user.userRoles', 'userRoles')->leftJoin('userRoles.role', 'role')->leftJoin('user.userGroups', 'userGroups')->leftJoin('user.userSettings', 'settings')->leftJoin('userGroups.group', 'grp')->leftJoin('user.contact', 'contact')->leftJoin('contact.emails', 'emails')->addSelect('userRoles')->addSelect('role')->addSelect('userGroups')->addSelect('grp')->addSelect('settings')->addSelect('contact')->addSelect('emails')->where('user.contact=:contactId');
$query = $qb->getQuery();
$query->setParameter('contactId', $id);
return $query->getSingleResult();
} catch (NoResultException $ex) {
return;
}
}