Неизвестный столбец .... в предложении where, когда столбец существует и не может это исправить - Codeigniter - PullRequest
0 голосов
/ 09 июля 2020

Меня смущает эта ошибка. Я использую codeigniter, и мой код такой

public function get_all_rec_product(){
    $data = $this->db->select('*')
        ->from('tbl_product')
        ->order_by('pro_id','desc')
        ->where('rec_product','1')
        ->limit("3")
        ->get()
        ->result();
        return $data;
}

Но я получаю эту ошибку каждый раз -

Номер ошибки: 1054

Неизвестный столбец 'rec_product' в 'where clause'

SELECT * FROM `tbl_product` WHERE `rec_product` = '1' ORDER BY
`pro_id` DESC LIMIT 3

когда другой столбец работает идеально, структура которого такая же, как rec_product ..

public function get_all_top_product(){
    $data = $this->db->select('*')
        ->from('tbl_product')
        ->order_by('pro_id','desc')
        ->where('top_product','1')
        ->limit("4")
        ->get()
        ->result();
        return $data;
}

this запрос отлично работает для столбца top_product ... Но не работает в столбце rec_product

MySql Query:

  ----------
  CREATE TABLE `tbl_product` (
  `pro_id` int(11) NOT NULL,
  `pro_title` varchar(255) NOT NULL,
  `pro_desc` text NOT NULL,
  `pro_cat` tinyint(4) NOT NULL,
  `pro_sub_cat` tinyint(4) NOT NULL,
  `pro_brand` tinyint(4) NOT NULL,
  `pro_price` float NOT NULL,
  `pro_quantity` tinyint(4) NOT NULL,
  `pro_availability` tinyint(4) NOT NULL COMMENT 'status 1=instock, 2=outof stock, 3= up coming',
  `pro_status` tinyint(1) NOT NULL DEFAULT 1 COMMENT 'status=1 enable status=2 disable',
  `pro_image` text DEFAULT NULL,
  `top_product` tinyint(1) DEFAULT 0 COMMENT 'show top value=1 other wise value=0',
  `rec_product` tinyint(1) DEFAULT 0 COMMENT 'show top value=1 other wise value=0'
  ) ENGINE=MyISAM DEFAULT CHARSET=latin1;

  ---------

1 Ответ

0 голосов
/ 09 июля 2020

вы должны перевести ->order_by в ->where, потому что предложение where является первым условием, по сравнению с order_by

Пример:

$get = this->db->select('*')->from('table')->where('id', $id)->get()->result();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...