Estou tendo problemas com ordenação dos resultados. Tudo funciona perfeitamente, exceto quando preciso trazer determinados resultados ordenados.
Não vou colocar código aqui porque já entendi o problema. Só não sei como resolver.
Para resumir, vou dar um exemplo.
Vamos supor que eu esteja consultando uma lista de pagamentos. Esta consulta envolve duas entidades: Pagamento
e Parcela
.
O objetivo seria retornar a lista ordenada por vencimento da parcela.
Lá no repositório, o procedimento de consulta é feito por dois métodos: Um que efetivamente faz a consulta no banco e envia o statement para o segundo método, que faz a hidratação.
O statement está ordenado. O problema está quando hidratamos estes dados.
O método hidratarListaPagamentos($stmt)
recebe o statement e retorna uma lista de acordo com o modelo orientado a objetos. É aqui que mora o problema. Assim eu perco a ordenação justamente por conta deste formato orientado a objetos.
Cheguei na conclusão que é impossível ordenar os resultados quando retornamos uma lista com objetos. Até pensei em alguma lógica aqui mas perderia todo o sentido do modelo orientado a objetos.
Pergunto: Tem alguma forma de fazer isso sem usar um ORM?