Ae,

não sabia, vou dar uma conferida, eu só usei a ultima versão do codeigniter
em um projeto até agora, vou até estudar a possibilidade de refactoring the
bibliotecas que desenvolvi.

Falow!

2009/6/25 Fábio Cerqueira <[email protected]>

> Robson,
> o Active Record do CI suporta Fluent Interface[1], evitaria repetir
> $this->db-> a cada linha ali no seu método totalMontarias. =D
>
> [1] - http://en.wikipedia.org/wiki/Fluent_interface
>
>
> 2009/6/25 Robson Mendonça <[email protected]>:
> > Ae Francisco, beleza!?
> >
> > Cara, tua dúvida envolve muito mais SQL do que MVC, o MVC são as camadas
> do
> > teu projeto, seu model controla o banco de dados, e view cuida da
> > apresentação e o controller trata as requisições dos clientes.
> >
> > Eu digo que seu problema envolve mais SQL pois você não está tratando-o
> da
> > melhor maneira. Vamos a um exemplo prático.
> >
> > Digamos que sua estrutura de tabelas seja a seguinte, bem rudimentar:
> >
> > TABELA RODEIOS
> >     id
> >     nome
> >
> > TABELA MONTARIAS
> >    id
> >    id_rodeio
> >    nome
> >
> > Para você saber quantas montarias tem em um rodeio você pode fazer o
> > seguinte, utilizando dentro do seu model:
> > function totalMontarias() {
> >     $this->db->select('RODEIOS.nome as rodeio_nome', 'COUNT(*) as
> total');
> >     $this->db->join('RODEIOS', 'RODEIOS.id = MONTARIAS.id_rodeio',
> 'inner');
> >     $this->db->group_by('MONTARIAS.id_rodeio');
> >     $q = $this->db->get('MONTARIAS');
> >     return $q->result();
> > }
> > Isso irá gerar um SQL tipo:
> > SELECT RODEIOS.nome as rodeio_nome, COUNT(*) as total FROM MONTARIAS LEFT
> > JOIN RODEIOS on RODEIOS.id = MONTARIAS.id_rodeio GROUP BY
> > MONTARIAS.id_rodeio;
> >
> > O resultado será um Array de objetos, dae no seu view você pode testar se
> > ele possui dados e fazer o foreach assim:
> > <? if(!empty($result)): ?>
> >     <? foreach($result as $row): ?>
> >         <p>Rodeio: <?=$row->rodeio_nome?></p>
> >         <p>Montarias: <?=$row->total?></p>
> >     <? endforeach; ?>
> > <? endif; ?>
> >
> > Acho que era isso, espero ter ajudado.
> >
> > --
> > Robson Mendonça
> > http://www.myweboncreate.com
> > CTO at LEC/UFRGS (Cognitive Studies Lab)
> > LEC - Laboratório de Estudos Cognitivos - UFRGS
> > Centro de Excelência Sun para Desenvolvimento de Soluções de TI para
> > Educação
> > Fundação Pensamento Digital - www.pensamentodigital.org.br
> >
> > _______________________________________________
> > Lista mailing list
> > [email protected]
> > http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
> >
> >
>
>
>
> --
> Fábio Cerqueira
> Acens - Mentes em desenvolvimento
>
> _______________________________________________
> Lista mailing list
> [email protected]
> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>



-- 
Robson Mendonça
http://www.myweboncreate.com
CTO at LEC/UFRGS (Cognitive Studies Lab)
LEC - Laboratório de Estudos Cognitivos - UFRGS
Centro de Excelência Sun para Desenvolvimento de Soluções de TI para
Educação
Fundação Pensamento Digital - www.pensamentodigital.org.br
_______________________________________________
Lista mailing list
[email protected]
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br

Responder a