Note that there are some explanatory texts on larger screens.

plurals
  1. POInner joins with zend models
    text
    copied!<p>Having problems with this script:</p> <pre><code>$select = $tabela-&gt;select() -&gt;joinInner('pedidos_itens', 'pedidos.peIp = pedidos_itens.ipPedido', array('ipProduto', 'ipQtde', 'ipCor', 'ipTextura', 'ipTamanho', 'ipSeq')) -&gt;joinInner('representantes_m', 'pedidos.peRepresentante = representantes_m.rpId', array('rpNome', 'rpTelefone', 'rpCidade', 'rpEstado', 'rpEmail')) -&gt;joinInner('produtos_m', 'pedidos_itens.ipPedido = produtos_m.prId', array('prTitulo', 'prRef', 'prCategoria', 'prColecao')) -&gt;joinInner('produtos_cores_m', 'pedidos_itens.ipProduto = produtos_cores_m.pcProduto', array('pcTitulo')) -&gt;joinInner('texturas_m', 'pedidos_itens.ipProduto = texturas_m.teProduto', array('teTitulo')) -&gt;joinInner('colecoes_m', 'produtos_m.prColecao = colecoes_m.coId', array('coTitulo')) -&gt;joinInner('categorias_m', 'produtos_m.prCategoria = categorias_m.caId', array('caTitulo')) -&gt;where('pedidos.peId = 2') -&gt;order('pedidos.peId DESC'); </code></pre> <p>That returns this error: </p> <pre><code>Warning: Select query cannot join with another table in C:\Arquivos de programas\Zend\ZendServer\share\ZendFramework\library\Zend\Db\Select.php on line 1345 </code></pre> <p>------- EDIT</p> <p>I've changed that to this:</p> <pre><code>$db = Zend_Db_Table::getDefaultAdapter(); $select = $db-&gt;select() -&gt;from('pedidos', array('peId', 'peRepresentante', 'peData', 'peStatus')) -&gt;joinInner('pedidos_itens', 'pedidos.peId = pedidos_itens.ipPedido', array('ipProduto', 'ipQtde', 'ipCor', 'ipTextura', 'ipTamanho', 'ipSeq')) -&gt;joinInner('representantes_m', 'pedidos.peRepresentante = representantes_m.rpId', array('rpNome', 'rpTelefone', 'rpCidade', 'rpEstado', 'rpEmail')) -&gt;joinInner('produtos_m', 'pedidos_itens.ipPedido = produtos_m.prId', array('prTitulo', 'prRef', 'prCategoria', 'prColecao')) -&gt;joinInner('produtos_cores_m', 'pedidos_itens.ipProduto = produtos_cores_m.pcProduto', array('pcTitulo')) -&gt;joinInner('texturas_m', 'pedidos_itens.ipProduto = texturas_m.teProduto', array('teTitulo')) -&gt;joinInner('colecoes_m', 'produtos_m.prColecao = colecoes_m.coId', array('coTitulo')) -&gt;joinInner('categorias_m', 'produtos_m.prCategoria = categorias_m.caId', array('caTitulo')) -&gt;where('pedidos.peId = 2') -&gt;order('pedidos.peId DESC'); $resultado = $db-&gt;query($select)-&gt;fetchAll(); </code></pre> <p>It returns an empty array, even having records. So? :/</p> <p>---- EDIT 2</p> <p>This is the query:</p> <p>SELECT <code>pedidos</code>.<code>peId</code>, <code>pedidos</code>.<code>peRepresentante</code>, <code>pedidos</code>.<code>peData</code>, <code>pedidos</code>.<code>peStatus</code>, <code>pedidos_itens</code>.<code>ipProduto</code>, <code>pedidos_itens</code>.<code>ipQtde</code>, <code>pedidos_itens</code>.<code>ipCor</code>, <code>pedidos_itens</code>.<code>ipTextura</code>, <code>pedidos_itens</code>.<code>ipTamanho</code>, <code>pedidos_itens</code>.<code>ipSeq</code>, <code>representantes_m</code>.<code>rpNome</code>, <code>representantes_m</code>.<code>rpTelefone</code>, <code>representantes_m</code>.<code>rpCidade</code>, <code>representantes_m</code>.<code>rpEstado</code>, <code>representantes_m</code>.<code>rpEmail</code>, <code>produtos_cores_m</code>.<code>pcTitulo</code>, <code>texturas_m</code>.<code>teTitulo</code>, <code>produtos_m</code>.<code>prTitulo</code>, <code>produtos_m</code>.<code>prRef</code>, <code>produtos_m</code>.<code>prCategoria</code>, <code>produtos_m</code>.<code>prColecao</code>, <code>colecoes_m</code>.<code>coTitulo</code>, <code>categorias_m</code>.<code>caTitulo</code> FROM <code>pedidos</code> INNER JOIN <code>pedidos_itens</code> ON pedidos.peId = pedidos_itens.ipPedido INNER JOIN <code>representantes_m</code> ON pedidos.peRepresentante = representantes_m.rpId INNER JOIN <code>produtos_cores_m</code> ON pedidos_itens.ipProduto = produtos_cores_m.pcProduto INNER JOIN <code>texturas_m</code> ON pedidos_itens.ipProduto = texturas_m.teProduto INNER JOIN <code>produtos_m</code> ON pedidos_itens.ipProduto = produtos_m.prId INNER JOIN <code>colecoes_m</code> ON produtos_m.prColecao = colecoes_m.coId INNER JOIN <code>categorias_m</code> ON produtos_m.prCategoria = categorias_m.caId WHERE (pedidos.peId = 2) ORDER BY <code>pedidos</code>.<code>peId</code> DESC</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload