Não foi, não funcionou.
Cara, eu tenho uns relatórios no qual uso SQL nativo mesmo, com join e devolvo um array ao inveis de objeto. Já estou pensando em fazer isso aqui tbm, minha dificuldade é colocar esses "IFs" no meio.
Indica alguma coisa?
Esse é um exemplo ... Como vou montar a query aqui dependendo da seleção do usuario?
$em = $this->getEntityManager();
        $sql = "SELECT
                     SUM(SERVICO.QUANT_CARRO) AS QUANTIDADE,
                     SUM(SERVICO.VALOR_FOR) AS VALOR_FOR,
                     SUM(SERVICO.VALOR_ACRESCIMO) AS VALOR_ACRESCIMO,
                     SUM(SERVICO.VALOR) AS VALOR,
                     SUM(SERVICO.VALOR + SERVICO.VALOR_ACRESCIMO)-SUM(SERVICO.VALOR_FOR) AS TOTAL,
                     TIPO_CARRO.DESCRICAO AS VEICULO
                FROM
                     TARIFARIO TARIFARIO INNER JOIN SERVICO SERVICO ON TARIFARIO.IDTARIF = SERVICO.ID_TARIF
                     INNER JOIN TIPO_CARRO TIPO_CARRO ON TARIFARIO.ID_TIPO_CARRO = TIPO_CARRO.ID_TIPO_CARRO
                     INNER JOIN PESSOA PESSOA ON PESSOA.IDPESSOA = SERVICO.CLIENTE
                WHERE
                      SERVICO.STATUS <> 5 AND SERVICO.DATA_INICIO BETWEEN :pid1 AND :pid2 AND PESSOA.IDPESSOA = :pid3
                GROUP BY TIPO_CARRO.DESCRICAO";
        $stmt = $em->getConnection()->prepare($sql);
        $stmt->bindParam("pid1", $inicio);
        $stmt->bindParam("pid2", $fim);
        $stmt->bindParam("pid3", $cli);
        $stmt->execute();
        return $stmt->fetchAll();