Bom dia, tenho um sistema que preciso mostrar vários dados ao usuário de diferentes tabelas e bancos de dados. Formato esses dados fazendo um loop e unindo através de arrays multidimensionais com keys especificas, estou com dúvida de onde devo fazer esta formatação pois li que não deveria ser no model.
Se eu entendi a sua pergunta, o ideal é vc ter um método na sua model que executa a consulta relacionada com os bancos/tabelas que vc precisa e retornar um array/objeto.
Já no seu controlador vc chama esse método que vc criou e o retorno desse método vc passa para a view que será onde vc vai fazer o loop nos dados e montar a exibição em tela.
Então mas são vários models metodos e bancos de dados que preciso unir para apresentar de forma correta na view. Ex:
Busco um produto, suas vendas e estoques eles são arrays diferentes que vem de fontes diferentes como CSV MySQL etc… Atualmente eu faço um loop nestes resultados separadamente colocando suas informações indexados pelo id do produto e depois junto tudo algo muito complexo para view. Porém faço isso no model tornando estes métodos específicos para estes problemas já que formata de acordo com o nesseário para a view o que acaba sendo ruim acredito.
Se vc já tem isso funcionando hj, vc pode criar um helper/class que faz isso tudo pra vc. Ficaria da mesma forma que eu mencionei no comentário anterior mas ao invés de fazer em um model, fazer em um helper.
Se é correto ou não eu já não consigo te responder. Cada um tem uma forma de desenvolver. Eu busco sempre a melhor forma de deixar mais organizado e facilitar futuras manutenções. Pode aparecer outro aqui dando uma outra sugestão, mas cabe a vc ver o que se adapta melhor a sua necessidade.
Eu, diante do cenário que vc apresentou, eu resolveria da forma que eu mencionei em um dos comentários anteriores:
Criaria um helper, na controller eu chamaria o método desse helper e passaria pra view. A formatação dos dados eu faria no helper para não ter que processar mais nada na controller e simplesmente fazer a exibição dos dados na view.
Pois é isso que é complicado, como é um sistema grande gostaria da melhor prática pra que não fique bagunçado no futuro. Vou seguir essa sugestão valeu.