Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ahsc

Zend_DbTable com relacionamento de tabelas

Recommended Posts

Olá,

 

Estou engatinhando no ZF e, pra começar, eu peguei um projeto meio grande e decidi aprender usando o ZF nesse projeto. Então, as dúvidas vão surgindo. Eu estou usando o Zend_DbTable para criar relacionamentos entre tabelas. Tenho três tabelas que serão utilizadas para retornar dados.

 

Uma tabela users, uma tabela grupos e outra participagrupos. O relacionamento é assim: um usuário pode ter vários grupos (1-N) e uma pessoa participa de vários grupos (1-N), ou seja,

 

users->grupos->participagrupos

 

Os campos são:

 

users (id, nome, sobrenome, status)

grupos (id, users(pk users), nome_grupo)

participagrupos (id, grupo (pk grupos), participante (id de usuário participante) )

 

Obter os grupos dos usuários eu consigo, mas os participantes dos grupos do usuário, esse é o problema. Gostaria de saber como eu posso fazer isso. Alguém poderia me dar uma luz?

 

Outra coisa: O Zend é bem desacoplado e você pode utilizar várias formas de pegar dados. A questão é:

 

a) O Zend_DbTable é uma forma legal de trabalhar?

B) É seguro utilizar Zend_DbTable já que temos problemas de injection?

c) O Zend_DbTable é rápido?

 

Obrigado,

 

Alexandre

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obter os grupos dos usuários eu consigo, mas os participantes dos grupos do usuário, esse é o problema. Gostaria de saber como eu posso fazer isso. Alguém poderia me dar uma luz?

 

Usa ReferenceMap no seu Model tipo assim:

 

protected $_referenceMap = array(

 

'participagrupos' => array(

 

'columns' => 'id_grupo',

 

'refTableClass' => 'participagrupos',

 

'refColumns' => 'pk grupos'

));

 

Isso deve te dar uma ajuda!

 

Ou da uma olhada aqui http://framework.zend.com/manual/en/zend.db.table.relationships.html/

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.