1

任何人都可以帮助我,而我的解决方案似乎不起作用:

$this->db->where('stock <=','stock_min');
$res = $this->db->get("products")->result();

你看我想比较字段'stock'小于或等于'stock_min'......

有人吗?

根据要求,表结构:

    CREATE TABLE IF NOT EXISTS `products` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `sub_of` int(11) DEFAULT NULL,
  `category` int(45) NOT NULL DEFAULT '0',
  `name` varchar(45) NOT NULL DEFAULT '',
  `slug` varchar(250) NOT NULL,
  `number` varchar(45) DEFAULT NULL,
  `description` text NOT NULL,
  `value` decimal(5,0) NOT NULL DEFAULT '0',
  `value_discount` varchar(100) DEFAULT NULL,
  `yell` varchar(100) DEFAULT NULL,
  `display_price` tinyint(1) DEFAULT '0',
  `stock` int(11) NOT NULL DEFAULT '0',
  `stock_min` int(11) NOT NULL DEFAULT '1',
  `warned` tinyint(2) NOT NULL DEFAULT '0',
  `relation` varchar(350) DEFAULT NULL,
  `supplier` varchar(150) DEFAULT NULL,
  `price_in` decimal(10,2) DEFAULT '0.00',
  `price_out` decimal(10,2) DEFAULT '0.00',
  `price_out_btw` decimal(10,2) DEFAULT '0.00',
  `active` smallint(6) DEFAULT '0',
  `display_from` date NOT NULL DEFAULT '0000-00-00',
  `display_till` date NOT NULL DEFAULT '0000-00-00',
  `seen` int(11) NOT NULL DEFAULT '0',
  `info_requested` int(11) NOT NULL DEFAULT '0',
  `inserted` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=322 ;
4

1 回答 1

2

试试这个:

$this->db->where('stock <= stock_min');

在您的代码中,“min_stock”被解释为字符串“min_stock”而不是列。将来,当您遇到此类问题时,您可以调用$this->db->last_query();以查看针对数据库运行的确切查询。

于 2012-09-19T10:11:04.980 回答