このスクリプトに問題があります:
$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
pedidos.peId = pedidos_itens.ipPedido 内部結合pedidos
pedidos_itens
representantes_m
pedidos.peRepresentante produtos_cores_m
= renameantes_m.rpId 内部結合texturas_m
on pedidos_itens.ipProduto = produtos_cores_m.pcProduto 内部結合produtos_m
on pedidos_itens.ipProduto = texturas_m.teProduto 内部結合 on pedidos_itens.ipProduto = produtos_m.prId 内部結合colecoes_m
on produtos_JOm.prColecao.INNER = categorias_m
ON produtos_m.prCategoria = categorias_m.caId WHERE (pedidos.peId = 2) ORDER BY pedidos
. peId
説明