Zend_DB: Relacionamento entre tabelas [HELP]

Zend_Db, Zend_Db_Table, Zend_Db_Xml

Moderador: diegotremper

Zend_DB: Relacionamento entre tabelas [HELP]

Mensagempor Claudio Luis F. Dias » Ter Fev 09, 2010 2:33 pm

Olá galera...

seguinte, preciso de alguém paciente pra me ajudar hehehe...é q tipo não manjo muito de join e nem muito do zend...mas tenho aprendido muito com o fórum :D

Então, tenho essas duas tabelas:
############
pessoas:
*id
*nome
*idade
*foto
......
##########
amigos:
*id
*id_pessoa

O que acontence é q quando estou logado, e add um novo amigo(tabela amigos), então salvo nessa tabela o "meu id"(id_pessoa) x e o "id do meu amigo"(id), mantendo um vinculo entre eu e meu amigo.

E minha dúvida é o seguinte, como posso fazer pra recuperar as informações do meu amigo por meio do meu id?
Por exemplo meu id = 1 e quero saber o nome e idade de todos as pessoas que mantem vinculo comigo.

Meio confuso :? , mas coseguiram entender?? :?: :?:

Agradeço quem puder ajudar :D
Claudio Luis F. Dias
Membro
 
Mensagens: 6
Data de registro: Dom Jan 31, 2010 12:50 am

Re: Zend_DB: Relacionamento entre tabelas [HELP]

Mensagempor vdsantos » Qua Fev 10, 2010 9:26 am

Olá,
um join com essas tabelas ficaria mais ou menos assim:
Código: Selecionar tudo
      $pessoas = new Pessoas();
      $select = $pessoas->select();
      $select->where('id = ?', $id_pessoa)->join('amigos', amigos.id_pessoa = pessoas.id');
      $result = $amigos->fetchAll($select);


De uma olhada nesse trecho da documentação, os exemplos 27 e 28 devem lhe ajudar a fazer o que você necessita:
http://framework.zend.com/manual/en/zend.db.table.html

[]'s
vdsantos
Participante
 
Mensagens: 74
Data de registro: Seg Jun 08, 2009 2:38 pm
Localização: Guarulhos - SP

Re: Zend_DB: Relacionamento entre tabelas [HELP]

Mensagempor Claudio Luis F. Dias » Qui Fev 11, 2010 7:30 pm

Hey deu certo! hehe
Legal cara, valeu pelo help...sou grato :D

Ei mais uma dúvida cara :?: se souber e tiver paciência em explicar :)...é referente ao join agora de modo geral, fora do zend...
Tipo sei que tem vários tipos de join, inner, full, etc...mas cara fiquei lendo alguns artigos e axei eles meio confusos de entender.
O que eu gostaria de saber é para que serve cada um e quando devo usar: Inner, Full, Left, Right, axo que esse são os mais usados, ou não?

Então fica ai a dúvida, quem quere me ajudar ficarei muito grato ;)

Valeu!
Claudio Luis F. Dias
Membro
 
Mensagens: 6
Data de registro: Dom Jan 31, 2010 12:50 am


Retornar para Banco de Dados

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 0 visitantes