lucas85d 0 Denunciar post Postado Julho 30, 2013 Boa tarde, Sou aprendiz e conto com ajuda dos membros do forum para solução do meu problema. O que quero fazer é o seguinte: Coturnos Cano longo Cano médio Cano curto Acessórios Faca Canivete o que eu fiz até agora foi: no controller tenho os seguintes códigos: $this->load->model('Categoria_model', 'Categoria'); $data['categorias'] = $this->Categoria->lista(); $data['subcategorias'] = $this->Categoria->getSubcategoria(1); // aqui coloquei 1 para testar $data['main_content'] = 'site/teste'; $this->load->view('site/teste', $data); model: public function lista(){ $query = $this->db->get('categoria'); return $query->result(); } public function getSubcategoria($idCategoria){ $this->db->select('Cs.idCategoria, C.descricao as descricao_categoria, Cs.idSubcategoria, S.descricao as descricao_subcategoria'); $this->db->from('categoria_subcategoria Cs'); $this->db->join('categoria C', 'C.idCategoria = Cs.idCategoria'); $this->db->join('subcategoria S', 'S.idSubcategoria = Cs.idSubcategoria'); $this->db->where('Cs.idCategoria', $idCategoria); $query = $this->db->get(); return $query->result(); } view: <div id="menu-produtos"> <ul class="dropdown-menu" style="display: block; position: static; margin-bottom: 5px; *width: 180px; border-width: medium; border-style: solid; border-color: #1F5019; border-radius:20px; margin-left: 20px; min-width: 220px;"> <?php foreach($categorias as $categoria): ?> <li class="dropdown-submenu"><a href="#"><?php echo $categoria->descricao;?></a> <ul class="dropdown-menu menu-produto-item"> <?php foreach($subcategorias as $subcategoria): ?> <li><a href="#"><?php echo $subcategoria->descricao_subcategoria; ?></a></li> <?php endforeach ?> </ul> </li> <?php endforeach ?> </div> O Resultado é: Coturnos Cano longo Cano médio Cano curto Acessórios Cano longo Cano médio Cano curto No controller eu passei (getSubcategoria(1); para trazer a mesma subcategorias em todas as categorias, dai para frente não saio do lugar. Alguém poderia me ajudar. Obrigado. Alguém poderia me ajudar???????? Compartilhar este post Link para o post Compartilhar em outros sites
gremio10 14 Denunciar post Postado Julho 30, 2013 Acho que tu poderia fazer o seguinte: Na model, busque todas as categorias pais, na mesma função da model, faça um foreach buscando todas as filhas da categoria, e adicione no array que vai ser retornado a controller. já na view, faça o primeiro foreach, adicione o nome da categoria, depois faça um novo foreach buscando as categorias. Compartilhar este post Link para o post Compartilhar em outros sites
lucas85d 0 Denunciar post Postado Julho 31, 2013 Bom dia gremio10, Primeiramente obrigado pela ajuda. Então ontem eu fiz uma alteração que resolve o problema, só não sei se é correto fazer o que fiz na view. Eu acrescentei uma linha na view, então ficou: <div id="menu-produtos"> <ul class="dropdown-menu" style="display: block; position: static; margin-bottom: 5px; *width: 180px; border-width: medium; border-style: solid; border-color: #1F5019; border-radius:20px; margin-left: 20px; min-width: 220px;"> <li class="titulo-produtos">Produtos da Loja</li> <?php foreach($categorias as $categoria): ?> <li class="dropdown-submenu"><a href="<?php echo base_url();?>produto/categoria/<?php echo $categoria->idCategoria;?> "><?php echo $categoria->descricao;?></a> <ul class="dropdown-menu menu-produto-item"> <?php $subcategorias = $this->Categoria->getSubcategoria($categoria->idCategoria); ?> <?php foreach($subcategorias as $subcategoria): ?> <li><a href="<?php echo base_url();?>produto/categoria/<?php echo $categoria->idCategoria;?>"><?php echo $subcategoria->descricao_subcategoria; ?></a></li> <?php endforeach ?> </ul> </li> <?php endforeach ?> </ul> </div> Agora quanto a sua dica poderia me exemplificar a construção do array e o retorno(Model) para que eu posso colocar na view. Ainda estou gatinhando na questão de array e o codeigniter. Obrigado pela ajuda. Compartilhar este post Link para o post Compartilhar em outros sites