MarceloWeb

Fragmentos de códigos e idéias

  • Aumentar tamanho da fonte
  • Tamanho da fonte padrão
  • Diminuir tamanho da fonte

Home Hacks Consulta com Join no Zend Framework

Consulta com Join no Zend Framework

E-mail Imprimir PDF

Zend Framework

Achei válido postar esta dica, haja vista, a escassez de hacks sobre este assunto em idioma português.

Sem muito blá blá blá, vou direto ao que interessa, mostrando um código bem simples.

Fazer um join utilizando Zend Framework é mais simples do que se possa imaginar. Vamos então, ao código:

No controlador escrevo da seguinte forma:

    // No momento não vou explicar este bloco, imaginando que quem chegou até aqui, 
    // já sabe do que se trata.
    $config = new Zend_Config_Ini('./application/config.ini', 'database');
    Zend_Registry::set('config', $config);
    $db = Zend_Db::factory($config->db->adapter, $config->db->config->toArray());
    Zend_Db_Table_Abstract::setDefaultAdapter($db);
    Zend_Registry::set('db', $db);

// Neste ponto faço o join entre as tabelas "tabela1" e "tabela2".
    $select = $db->select()
                 ->from(array('t' => 'tabela1'),
                    array('campo1', 'campo2'))
                 ->join(array('t2' => 'tabela2'),
                  't.id = t2.id', array('campo3'));

$stmt = $db->query($select);
    $dados = $stmt->fetchAll();
 
    // Mando imprimir no .tpl
    $view->assign('dados', $dados);
    $view->output('index/index.tpl');


Agora no arquivo index.tpl, escrevo o seguinte:

    <table border="0" cellspacing="3" cellpadding="3" width="550" >
<tr>
<td>Campo 1</td>
<td>Campo 2</td>
<td>Campo 3</td>
</tr>
{foreach from=$dados item=dado}
<tr>
<td>{$dado.campo1}</td>
<td>{$dado.campo1}</td>
<td>{$dado.campo3}</td>
</tr>
{/foreach}
</table>
Última atualização em Qua, 07 de Outubro de 2009 19:56  

Adicionar comentário


Security code
Refresh


Entre em contato