为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
Cats萌萌 2021-04-28 13:15:48
找不到所需的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。我该如何解决这个问题?
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 109 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信