Consulta de junção de banco de dados com três tabelas

Madhu Nair

Aqui estou tentando conectar três mesas para que eu possa obter o resultado desejado

Drupal 7 db select

function abc($Incharge) {
   $res= db_select('node', 'n')
 ->Join('aa', 'f', 'f.id = n.nid')
 ->Join('bb', 'd', 'd.id = f.entity_id');
 return $total_res = $res ->condition('n.type', 'ram')
   ->condition('d.target_id',$Incharge)
   ->condition('n.status', 1)
   ->fields('n', array('nid', 'title'))
   ->orderBy('n.title', 'ASC')
   ->execute()->fetchAllKeyed();


}

Mas estou enfrentando um problema

Erro fatal: chamada a uma função de membro Join () na string em /opt/lampp/htdocs/transgenic/sites/all/modules/report_system/report_system.module na linha 735

insira a descrição da imagem aqui

Nigel Ren

De acordo com a documentação ( https://www.drupal.org/docs/7/api/database-api/dynamic-queries/joins )

O valor de retorno de um método de junção é o apelido da tabela que foi atribuída

E também afirma -

As junções não podem ser encadeadas, portanto, devem ser chamadas separadamente (consulte Encadeamento). Se você estiver encadeando várias funções, faça assim:

Então você tem que fazer algo como ...

function abc($Incharge) {
   $res= db_select('node', 'n');
   $res->Join('aa', 'f', 'f.id = n.nid');
   $res->Join('bb', 'd', 'd.id = f.entity_id');
   return $total_res = $res ->condition('n.type', 'ram')
       ->condition('d.target_id',$Incharge)
       ->condition('n.status', 1)
       ->fields('n', array('nid', 'title'))
       ->orderBy('n.title', 'ASC')
       ->execute()->fetchAllKeyed();
}

Este artigo é coletado da Internet.

Se houver alguma infração, entre em [email protected] Delete.

editar em
0

deixe-me dizer algumas palavras

0comentários
loginDepois de participar da revisão

Artigos relacionados

Maneira correta de escrever consulta de junção sql para três tabelas

Consulta de junção de três tabelas não mostrando nenhum dado

Como eliminar todas as tabelas de um banco de dados com uma consulta SQL?

O banco de dados H2 é adequado como banco de dados embutido com grandes tabelas?

laravel: whereHas consulta para obter dados de três tabelas

Junção à esquerda de três tabelas com junção interna em dois no mysql

Selecione dados com uma junção de 3 tabelas

Echo array JSON aninhado de tabelas de banco de dados relacionadas com uma única consulta?

Criando um script de consulta para unir todas as tabelas no banco de dados com base em relacionamentos

Consulta de junção LINQ no banco de dados do Access

Consulta de junção interna com duas tabelas

Consulta de banco de dados de várias tabelas

Junção interna com 2 tabelas ou chave estrangeira no banco de dados sql?

consulta mysql de 2 tabelas com junção interna

Consulta para mostrar tabelas e definição de tabelas no banco de dados Starcounter

BigQuery junção de três tabelas

Consulta de dados de tabelas relacionadas com o Eloquent

Remover a junção do servidor de banco de dados com tabelas temporárias

Tenho três tabelas que contêm Pai, Filho e Mark. Eu quero mesclar três tabelas usando junção com consulta de união

Consulta de banco de dados relacionada para obter dados de 2 tabelas que não são nulas

Consulta de junção no banco de dados mysql

Compare tabelas com BOOLEAN no banco de dados

mysqldump um banco de dados com condição nas tabelas

Como eliminar todas as tabelas externas de um banco de dados com uma consulta SQL?

Consulta de tabelas de junção JPA

Scala, Play framework, Slick: consulta de junção de banco de dados com filtro no campo de enumeração

Dados de tabelas de junção de consulta SQL

Reestruturação do design da tabela de banco de dados para três tabelas relacionadas

Consulta de tabelas de junção com SqlKata