createQueryBuilder('conexao') ->innerJoin('conexao.so', 'so') ->innerJoin('conexao.usuario', 'usr') ->innerJoin('usr.idLocal', 'loc') ->leftJoin('conexao.idSrcacicSessao', 'sessao') ->leftJoin('sessao.idComputador', 'comp'); /** * Verifica os filtros que foram parametrizados */ if ( $dataInicio ) $query->andWhere( 'conexao.dtHrInicioConexao >= :dtInicio' )->setParameter('dtInicio', ( $dataInicio.' 00:00:00' )); if ( $dataFim ) $query->andWhere( 'conexao.dtHrInicioConexao <= :dtFim' )->setParameter('dtFim', ( $dataFim.' 23:59:59' )); if ( count($locais) ) $query->andWhere( 'loc.idLocal IN (:locais)' )->setParameter('locais', $locais); return $query->getQuery()->execute(); } }