Depois de juntar três tabelas sql no codeigniter, não consigo encontrar o id desejado

Tahmid-ni7

Não consigo encontrar o Id desejado

Estou juntando três tabelas SQL no CodeIgniter. Consigo recuperar os dados de três tabelas. Mas tenho problemas para encontrar a id adequada.

Eu coloquei minhas três tabelas abaixo:

mesa de livros:

CREATE TABLE `books` (
  `id` int(11) NOT NULL,
  `book_name` varchar(200) NOT NULL,
  `description` text NOT NULL,
  `author` varchar(200) NOT NULL,
  `publisher` varchar(200) NOT NULL,
  `price` varchar(200) NOT NULL,
  `quantity` int(11) NOT NULL,
  `categoryId` int(11) NOT NULL,
  `book_image` varchar(200) NOT NULL,
  `create_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `userId` int(11) NOT NULL,
  `status` enum('1','0') NOT NULL DEFAULT '0' COMMENT '1 = published | 0 = unpublished'
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

tabela de categorias:

    CREATE TABLE `category` (
      `id` int(11) NOT NULL,
      `category` varchar(100) NOT NULL,
      `description` text NOT NULL,
      `tag` varchar(100) NOT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

tabela de usuários:

CREATE TABLE `users` (
  `id` int(11) NOT NULL,
  `name` varchar(200) NOT NULL,
  `contact` varchar(50) NOT NULL,
  `email` varchar(100) NOT NULL,
  `password` varchar(255) NOT NULL,
  `address` varchar(500) NOT NULL,
  `city` varchar(50) NOT NULL,
  `type` varchar(20) NOT NULL DEFAULT 'U',
  `createdate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

Meu modelo:

public function get_books($limit, $offset)
{   
    /*=== SQL join ===*/
    $this->db->select('*');
    $this->db->from('category');
    $this->db->join('books', 'books.categoryId = category.id');
    $this->db->join('users', 'books.userId = users.id'); #...Join three sql table

    $this->db->order_by('books.id', 'DESC');
    $this->db->where('books.status', '1');
    $this->db->limit($limit, $offset);
    $query = $this->db->get();
    return $query->result();
}

Agora obtenho a id dos usuários em minha tabela associada. Mas eu quero a id dos livros como a id principal. Como eu poderia resolver esse problema?

tuna

Como a resposta anterior , você não deve usar '*'this. Você deve escrever a consulta selecionada manualmente, selecionar a coluna que deseja nas tabelas.

Para obter o id do livro como seu id desejado, você deve alterar o código do modelo conforme abaixo.

Código de modelo

public function get_books($limit, $offset)
{   
    $this->db->select('books.id, books.book_name, books.description, books.author, books.book_image, books.otherCol, category.category, users.name'); // You can add many more if you want.

    $this->db->from('books');
    $this->db->join('category', 'books.categoryId = category.id'); //2nd join
    $this->db->join('users', 'books.userId = users.id'); //3rd join

    $this->db->order_by('books.id', 'DESC');
    $this->db->where('books.status', '1');
    $this->db->limit($limit, $offset);
    $query = $this->db->get();
    return $query->result();
}

Acho que agora você obterá a identificação desejada na mesa de livros .

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

MSSQL - Não consigo descobrir como juntar três tabelas para encontrar o prédio que contém as pessoas com as habilidades corretas

como juntar três tabelas sem duplicação no sql?

Como juntar três tabelas usando Codeigniter se não houver campos comuns?

Depois de instalar o SQL Server 2014 Express não consigo encontrar banco de dados local

Não consigo encontrar aceso depois de instalá-lo

Não consigo descobrir como juntar tabelas sql para criar um relatório

Consulta SQL para obter o resultado desejado de 3 tabelas

Precisa de ajuda para juntar três tabelas em sql usando o método de junção e o método de concat

Não consigo encontrar o arquivo `php.ini` depois de instalar o PHP

Depois de juntar 3 tabelas, o MySQL retornou um resultado vazio

Como preservar a partição depois de juntar duas tabelas em Atenas?

SQL: Não consigo entender como selecionar de minhas tabelas

Não consigo encontrar min () depois de encontrar max () e vice-versa

Codeigniter: junção entre três tabelas

Como juntar três tabelas no servidor sql

Por que não consigo mais encontrar feijão verde depois de mover os pacotes

Django - não consigo encontrar meus arquivos estáticos mesmo depois de corrigir manualmente o caminho

por que não posso juntar 2 tabelas com diferentes números de linhas no id?

Não consigo mais encontrar tr dentro de um corpo

Incapaz de juntar três tabelas com função de agregação de soma usando a biblioteca Sequelize

Incapaz de juntar três tabelas com função de agregação de soma usando a biblioteca Sequelize

Selecione depois de juntar três mesas

Como juntar tabelas não por table_id

expresso não consigo depois de postar

Como juntar e obter soma de três tabelas diferentes no codeigniter?

Como juntar tabelas SQL, incluindo as relações não existentes

Cláusula de seleção SQL com três tabelas

não consigo encontrar minhas tabelas no aplicativo mvc

Não consigo descobrir como juntar tabelas devido aos valores separados por vírgula

TOP lista

  1. 1

    Problema de escalada que requer programação dinâmica

  2. 2

    Argumento de linha de comando adicionando um parâmetro extra

  3. 3

    Como usar o foco no RichText no flutter?

  4. 4

    Como enviar e-mail para vários destinatários com python?

  5. 5

    AWS Glue Crawler creates a table for every file

  6. 6

    Adicionar campos de texto dinâmicos por meio da seleção suspensa de componentes?

  7. 7

    React: update state with form data onChange using the spread operator

  8. 8

    Como validar número de telefone na laravel?

  9. 9

    ¿Cómo obtener las fechas alternativas entre dos fechas en la misma tabla e insertar esas fechas en una tabla temporal?

  10. 10

    Usando Retrofit, quero acessar o userId a partir da resposta JSON (um valor de uma matriz dentro do objeto)

  11. 11

    UnsatisfiedDependencyException: Error creating bean with name 'securityConfig'

  12. 12

    Comportamento complexo do bootstrap Collapse

  13. 13

    Multilinha EditText com "botão de próxima visualização" em vez de "botão de nova linha"

  14. 14

    Acessando relatório de campanhas na AdMob usando a API do Adsense

  15. 15

    Erro de "recurso de fonte não encontrado" do Android

  16. 16

    Aviso do ponto de interrupção do código do Visual Studio: o código-fonte é diferente da versão original

  17. 17

    O campo requer um bean do tipo que não pôde ser encontrado, considere definir um bean do tipo em sua configuração

  18. 18

    Como posso colar várias linhas do Excel para um DataGridView em C #?

  19. 19

    volatile for signal handler and multi-threading

  20. 20

    Javascript <input> não funciona bem com o IE 11

  21. 21

    não é possível adicionar dependência para com.google.android.gms.tasks.OnSuccessListener

quentelabel

Arquivo