Ir para conteúdo

Arquivado

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

phpricardo

Relacionamento usando o Zend Framework?

Recommended Posts

Olá,

 

Estaria interessado em fazer relacionamento de tabelas no ZF 1 ... aqui no meu estágio o cara usa meio que "puxando" o id de uma tabela e com esse id associa a outra e pega os valores conforme necessidade, como sou noob ainda não sei bem explicar... mas é algo desse tipo:

 

$ator = new Application_Model_DbTable_Ator();
$resultadoAtor = $ator->listaAtores();

foreach ($resultadoAtor as $ator)
{
$idAtor = $ator->actor_id;

$relacao = new Application_Model_DbTable_FilmeAtor();
$resultadoRelacao = $relacao->listaRelacao($idAtor);

}

 

ai teria um model de cada tabela tipo:

class Application_Model_DbTable_Filme extends Zend_Db_Table_Abstract
{

    protected $_name = 'film';
    protected $_primary = 'film_id';

    public function listaFilmes($id)
    {
        $resulta = $this->find($id);
        return $resulta;
    }

}

Essa é a forma legal mesmo? Apesar de não entende bem ela...

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

O padrão adotado pelo Zend_Db é o Table Data Gateway. Nesse padrão é necessário sim uma classe para cada Tabela do banco de dados.

 

No Zend_Db é possivel definir os mapeamentos através das propriedades $_dependentTables e $_referenceMap.

 

Com elas você consegue o acesso a vários métodos que te auxiliam em consultas.

 

Mas eu oriento que estude outras formas de realizar a arquitetura da sua camada Model, como por exemplo criar as Entidades, os DataMappers e os Db_Tables.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Emerson,

 

Está sendo meu primeiro contato com frameworks sendo ele o ZF1 e ainda não sei bem o que fazer. Ainda também conheço pouco de OO, estou ainda desenvolvendo tudo isso no meu estágio. Pelo que acho que entendi, você falou em usar o zend_db (que gera informações com base da classe abstrata do zend db) e esses mapeamentos mesmo não entendi.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Miqueias, além do problema não ser NEM UM POUCO parecido, você ainda ressucitou um tópico de 4 meses.

 

Crie um novo tópico, descrevendo com a maior riqueza possível de detalhes, para alguém tentar te ajudar.

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.