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

Responder a