/** * Get a random proxy (only enabled ones) * * @return ProxyEntity */ public function findRandom() { $rsmb = new ResultSetMappingBuilder($this->_em); $rsmb->addRootEntityFromClassMetadata('steevanb\\ProxyBundle\\Entity\\Proxy', 'p'); $rsmb->addIndexBy('p', 'id'); $query = $this->_em->createNativeQuery('SELECT * FROM proxy_proxies p WHERE state = :state ORDER BY RAND() LIMIT 1', $rsmb); $query->setParameter('state', ProxyEntity::STATE_ENABLED); return $query->getSingleResult(); }