public function countRecordsInTableMatching($table, $criteria = []): int
    {
        $where = '';
        foreach ($criteria as $field => $vale) {
            if ($where) {
                $where .= ' AND ';
            }
            if ($vale === null) {
                $where .= sprintf('%s IS NULL', $field);
            } else {
                $where .= sprintf('%s = :%s', $field, $field);
            }
        }
        $query = sprintf('SELECT count(*) AS records FROM %s WHERE %s', $table, $where);

        /** @var EntityManager $manager */
        $manager = $this->client->getContainer()->get('doctrine')->getManager();
        $rsm = new ResultSetMapping();
        $rsm->addScalarResult('records', 'records', 'integer');
        $query = $manager->createNativeQuery($query, $rsm);
        $query->setParameters($criteria);

        return (int) $query->getSingleScalarResult();
    }
public function countRecordsInTableMatching($table, $criteria = []): int
    {
        $where = '';
        foreach ($criteria as $field => $vale) {
            if ($where) {
                $where .= ' AND ';
            }
            if ($vale === null) {
                $where .= sprintf('%s IS NULL', $field);
            } else {
                $where .= sprintf('%s = :%s', $field, $field);
            }
        }
        $query = sprintf('SELECT count(*) AS records FROM %s WHERE %s', $table, $where);

        /** @var EntityManager $manager */
        $manager = $this->client->getContainer()->get('doctrine')->getManager();
        $rsm = new ResultSetMapping();
        $rsm->addScalarResult('records', 'records', 'integer');
        $query = $manager->createNativeQuery($query, $rsm);
        $query->setParameters($criteria);

        return (int) $query->getSingleScalarResult();
    }
public function countRecordsInTableMatching ( $ table , $ criteria = [ ] ) : int { $ where = '' ; foreach ( $ criteria as $ field => $ vale ) { if ( $ where ) { $ where .= ' AND ' ; } if ( $ vale === null ) { $ where .= sprintf ( '%s IS NULL' , $ field ) ; } else { $ where .= sprintf ( '%s = :%s' , $ field , $ field ) ; } } $ query = sprintf ( 'SELECT count(*) AS records FROM %s WHERE %s' , $ table , $ where ) ; /** @var EntityManager $manager */ $ manager = $ this -> client -> getContainer ( ) -> get ( 'doctrine' ) -> getManager ( ) ; $ rsm = new ResultSetMapping ( ) ; $ rsm -> addScalarResult ( 'records' , 'records' , 'integer' ) ; $ query = $ manager -> createNativeQuery ( $ query , $ rsm ) ; $ query -> setParameters ( $ criteria ) ; return ( int ) $ query -> getSingleScalarResult ( ) ; }
Count records in table matching criteria

@param string $table
@param array  $criteria

@return int

@throws \Doctrine\ORM\NonUniqueResultException
Count records in table matching criteria