这个脚本有问题:
$select = $tabela->select()
->joinInner('pedidos_itens', 'pedidos.peIp = pedidos_itens.ipPedido', array('ipProduto', 'ipQtde', 'ipCor', 'ipTextura', 'ipTamanho', 'ipSeq'))
->joinInner('representantes_m', 'pedidos.peRepresentante = representantes_m.rpId', array('rpNome', 'rpTelefone', 'rpCidade', 'rpEstado', 'rpEmail'))
->joinInner('produtos_m', 'pedidos_itens.ipPedido = produtos_m.prId', array('prTitulo', 'prRef', 'prCategoria', 'prColecao'))
->joinInner('produtos_cores_m', 'pedidos_itens.ipProduto = produtos_cores_m.pcProduto', array('pcTitulo'))
->joinInner('texturas_m', 'pedidos_itens.ipProduto = texturas_m.teProduto', array('teTitulo'))
->joinInner('colecoes_m', 'produtos_m.prColecao = colecoes_m.coId', array('coTitulo'))
->joinInner('categorias_m', 'produtos_m.prCategoria = categorias_m.caId', array('caTitulo'))
->where('pedidos.peId = 2')
->order('pedidos.peId DESC');
这将返回此错误:
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
- - - - 编辑
我已将其更改为:
$db = Zend_Db_Table::getDefaultAdapter();
$select = $db->select()
->from('pedidos', array('peId', 'peRepresentante', 'peData', 'peStatus'))
->joinInner('pedidos_itens', 'pedidos.peId = pedidos_itens.ipPedido', array('ipProduto', 'ipQtde', 'ipCor', 'ipTextura', 'ipTamanho', 'ipSeq'))
->joinInner('representantes_m', 'pedidos.peRepresentante = representantes_m.rpId', array('rpNome', 'rpTelefone', 'rpCidade', 'rpEstado', 'rpEmail'))
->joinInner('produtos_m', 'pedidos_itens.ipPedido = produtos_m.prId', array('prTitulo', 'prRef', 'prCategoria', 'prColecao'))
->joinInner('produtos_cores_m', 'pedidos_itens.ipProduto = produtos_cores_m.pcProduto', array('pcTitulo'))
->joinInner('texturas_m', 'pedidos_itens.ipProduto = texturas_m.teProduto', array('teTitulo'))
->joinInner('colecoes_m', 'produtos_m.prColecao = colecoes_m.coId', array('coTitulo'))
->joinInner('categorias_m', 'produtos_m.prCategoria = categorias_m.caId', array('caTitulo'))
->where('pedidos.peId = 2')
->order('pedidos.peId DESC');
$resultado = $db->query($select)->fetchAll();
它返回一个空数组,即使有记录。所以?:/
---- 编辑 2
这是查询:
选择pedidos
。peId
, pedidos
. peRepresentante
, pedidos
. peData
, pedidos
. peStatus
, pedidos_itens
. ipProduto
, pedidos_itens
. ipQtde
, pedidos_itens
. ipCor
, pedidos_itens
. ipTextura
, pedidos_itens
. ipTamanho
, pedidos_itens
. ipSeq
, representantes_m
. rpNome
, representantes_m
. rpTelefone
, representantes_m
. rpCidade
, representantes_m
. rpEstado
, representantes_m
. rpEmail
, produtos_cores_m
. pcTitulo
, texturas_m
. teTitulo
, produtos_m
. prTitulo
, produtos_m
. prRef
, produtos_m
. prCategoria
, produtos_m
. prColecao
, colecoes_m
. coTitulo
, categorias_m
. caTitulo
FROM pedidos
INNER JOIN pedidos_itens
ON pedidos.peId = pedidos_itens.ipPedido INNER JOINrepresentantes_m
ON pedidos.peRepresentante produtos_cores_m
=presentantes_m.rpId INNER JOIN texturas_m
ON pedidos_itens.ipProduto = produtos_cores_m.pcProduto INNER JOIN ON pedidos_itens.ipProduto = texturas_m.teProduto INNER JOIN produtos_m
ON pedidos_itens.ipProduto = produtos_m.prId INNER JOIN colecoes_m
ON produtos_m.coIdColecao。categorias_m
在 produtos_m.prCategoria = categorias_m.caId WHERE (pedidos.peId = 2) ORDER BYpedidos
上。peId
DESC