Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

renan.miranda

Pegando ID correto da Query do RedBean

Recommended Posts

Saudações meus amigos...

 

Bem... quem trabalha com o RedBean, sabe que suas chaves primarias devem (ao menos foi o que deu para eu perceber), ser chamadas de ID, o problema é, quando preciso fazer um SELECT em mais de uma tabela no MySQL como faço para identificar o ID da tabela que preciso. Por exemplo:

 

Se eu tenho a tabela 'CLIENTE' e nessa tabela cliente eu tenho ID | NOME_DO_CLIENTE, e na tabela 'EMPRESA' eu tenho ID | NOME_DA_EMPRESA, e tendo fazer um R::getAll('SELECT * FROM CLIENTE inner join EMPRESA on (CLIENTE.ID = EMPRESA.ID_CLIENTE)'), ele irá me retornar as informações: ID | NOME_DA_EMPRESA | ID_CLIENTE | ID | NOME_DO_CLIENTE.

 

Como eu faço para quando for pegar o resultado, eu pegue o ID que preciso, sendo que os dois campos se chamam ID?

Compartilhar este post


Link para o post
Compartilhar em outros sites

o problema em questão não é o RedBean, e sim a query. Remova o asterisco e use alias.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então o "Balaio" ficou assim, está funcionando, mas se existir um meio de simplificar e melhorar:

SELECT tbproducao.id AS idP, acai_marca, cliente_nome, prod_ano_producao, prod_lote, tbacaitipo.id, tbacaimarca.id_acai_tipo, tbproducao.prod_id_produto, tbacaimarca.id, tbcliente.id, tbproducao.prod_id_cliente  
  FROM tbacaimarca
  INNER JOIN tbacaitipo ON (tbacaitipo.id = tbacaimarca.id_acai_tipo)
  INNER JOIN tbproducao ON (tbproducao.prod_id_produto = tbacaimarca.id)
  INNER JOIN tbcliente ON (tbcliente.id = tbproducao.prod_id_cliente)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em produção, não é bom utilizar asterisco. Como não existe uma flag pra definir query de desenvolvimento/produção. Use o mantra de nunca usar asterisco mesmo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.