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();