Ghean 0 Denunciar post Postado Abril 23, 2008 Tenho duas tabelas em meu BD, uma produtos e outra fotos, na tabela fotos coloquei um campo prod_id, pra que seja feito o relacionamento com a tabela produto. Como fazer para listar os produtos na minha pagina inicial e exibir uma imagen referente a ele e alguns dados. Compartilhar este post Link para o post Compartilhar em outros sites
Chackan 0 Denunciar post Postado Abril 24, 2008 Primeiramente você tem que codificar suas models: class de Produtos protected $_name = "produtos"; protected $_dependentTables = array( 'fotos' ); Aqui você fala quem depende de você, no caso a tabela fotos. class de Fotos protected $_name = "fotos"; A classe fotos precisa do id do produto para poder gravar alguma coisa, então: protected $_referenceMap = array( array( 'refTableClass' => 'Produtos', 'refColumns' => 'id', 'columns' => 'prod_id' ) ); fazendo a leitura ficaria mais ou menos assim: eu preciso de um prod_id para poder gravar na minha tabela, que faz referencia da tabela de classe chamada produtos e a coluna referente e id. Depois, feito a codificação das dependências e referências, você pode fazer suas buscas la pela view ou no controller! Se não souber como fazer isso, posta o codigo ai que eu te ajudo... Compartilhar este post Link para o post Compartilhar em outros sites
Ghean 0 Denunciar post Postado Abril 24, 2008 Na view como criar um foreach para listar os dados e as imagens? Compartilhar este post Link para o post Compartilhar em outros sites
Rodrigo_DaNaDao 0 Denunciar post Postado Abril 24, 2008 to com a mesma duvida... to com a mesma duvida... Compartilhar este post Link para o post Compartilhar em outros sites
Thiago Delalibera 1 Denunciar post Postado Abril 24, 2008 se não me engano antes você tem que fazer isso pelo proprio banco... criar um index (indice) para o seu campo prod_id ai você cria uma "chave estrangeira" para o mesmo... eu quando vou relacionar faço desse modo: ALTER TABLE NOMEDATABELA ADD INDEX (prod_id); ALTER TABLE NOMEDATABELA ADD FOREIGN KEY (prod_id) REFERENCES NOMEDOBANCO.NOMEDATABELA(IDDATABELA) ON DELETE CASCADE ON UPDATE CASCADE; ai tem que ver o que você vai querer fazer... on update cascade, on delete cascade... esses sao os comandos pro console, pode fazer pelo modo grafico com mysql-front.. é mais simples sei la espero ter ajudado =) Compartilhar este post Link para o post Compartilhar em outros sites
Ghean 0 Denunciar post Postado Abril 24, 2008 Consegui da seguinte forma: IndexController public function indexAction() { $produtos = new Produtos(); $this->view->produtos = $produtos->fetchAll(); $fotos = new Fotos(); $rowset = $fotos->fetchAll(); $this->view->rowsetArray = $rowset->toArray(); $this->render(); } view index.phtml <table border="1"> <?php $counter = 1; foreach($this->produtos as $produto){ if ($counter % 2 != 0) { echo $counter == 1 ? '<tr>' : '</tr><tr>'; } ?> <td id="product_box"> <?=$this->escape($this->rowsetArray[$produto->id]['foto'])?><br> <?=$this->escape($produto->nome)?><br> <?=$this->escape($produto->valor)?> </td> <?php $counter++; } ?> </table> http://forum.imasters.com.br/public/style_emoticons/default/joia.gif http://forum.imasters.com.br/public/style_emoticons/default/graduated.gif Compartilhar este post Link para o post Compartilhar em outros sites
Rodrigo_DaNaDao 0 Denunciar post Postado Abril 24, 2008 to com a mesma duvida... to com a mesma duvida... Compartilhar este post Link para o post Compartilhar em outros sites
Ghean 0 Denunciar post Postado Abril 24, 2008 E ai Rodrigo o que postei não resolveu seu problema, ja que estava com a mesma duvida? Compartilhar este post Link para o post Compartilhar em outros sites
Chackan 0 Denunciar post Postado Abril 24, 2008 pra usar o zend pra relacionamento de tabelas.. você usa findDependentRowset( "TABELA DEPENDENTE" ) e da um forech e se for uma referenceMap usa findParentRow( "TABELA REFERENTE" )->O CAMPO Q você QUER TRAZER exemplo usando essa tabela de foto e produto: eu tenho minha view que exibe o produto, ai preciso exibir a foto desse produto, como eu tenho uma uma dependentTables na minha model de Produtos eu posso falar na minha view: foreach( $this->produto->findDependentRowset( "Fotos" ) as $fotos ) { $foto->img; } mais ou menos assim. espero ter ajudado... Compartilhar este post Link para o post Compartilhar em outros sites
Ghean 0 Denunciar post Postado Abril 30, 2008 beleza estou conseguindo exibir as imagens dos produtos usando o relacionamento... Agora o seguinte como posso exibir da seguinte forma: Imagen_prod_01.jpg Imagen_prod_02.jpg Nome do produto 01 Nome do produto 02 etc... Compartilhar este post Link para o post Compartilhar em outros sites
Chackan 0 Denunciar post Postado Maio 1, 2008 joga dentro de um foreach.. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
Ghean 0 Denunciar post Postado Maio 2, 2008 crio um foreach dentro desse outro foreach? E como chamar apenas a primeira imagem de cada produto??? Compartilhar este post Link para o post Compartilhar em outros sites
Ghean 0 Denunciar post Postado Maio 20, 2008 Por favor, alguém poderia me ajudar, ainda não consegui resolver e meu projeto esta parado desde então.... Compartilhar este post Link para o post Compartilhar em outros sites