在codeigniter中加入三个sql表后,找不到所需的id

找不到所需的ID

我正在CodeIgniter中加入三个SQL表。我可以从三个表中检索数据。但是我在找到正确的ID时遇到了问题。


我把我的三个表放在下面:


图书表:

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;

类别表:

    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;

用户表:

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;

我的模特:

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();

}

现在,我在联接表中获得了用户ID。但我希望将图书ID作为主要ID。我该如何解决这个问题?


Cats萌萌
浏览 110回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP