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>













