任何人都可以帮助我,而我的解决方案似乎不起作用:
$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 ;
最佳答案
试试这个:
$this->db->where('stock <= stock_min');
在您的代码中,“min_stock”被解释为字符串“min_stock”而不是列。将来当您遇到此类问题时,您可以调用 $this->db->last_query();
来查看针对数据库运行的确切查询。
关于mysql - 使用 Codeigniter 比较同一行和同一表中的 2 个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12492219/