*/ class SuspiciousLoginMapper extends QBMapper { public function __construct(IDBConnection $db) { parent::__construct($db, 'suspicious_login'); } public function findRelated(string $uid, string $ip, SuspiciousLogin $login, int $start): array { $qb = $this->db->getQueryBuilder(); $query = $qb ->select('*') ->from($this->getTableName()) ->where($qb->expr()->eq('uid', $qb->createNamedParameter($uid))) ->andWhere($qb->expr()->eq('ip', $qb->createNamedParameter($ip))) ->andWhere($qb->expr()->gte('created_at', $qb->createNamedParameter($start))) ->andWhere($qb->expr()->neq('id', $qb->createNamedParameter($login->getId()))); return $this->findEntities($query); } public function findRecentByUid(string $uid, int $start) { $qb = $this->db->getQueryBuilder(); $query = $qb ->select('*') ->from($this->getTableName()) ->where($qb->expr()->eq('uid', $qb->createNamedParameter($uid))) ->andWhere($qb->expr()->gte('created_at', $qb->createNamedParameter($start))); return $this->findEntities($query); } }