Php CodeIgniter活动记录用于比较同一mysql表的两列

Php CodeIgniter活动记录用于比较同一mysql表的两列,php,codeigniter,Php,Codeigniter,我将直接切入要点 我的桌子看起来像这样 CREATE TABLE user_orders(id INT(11), o_name VARCHAR(60), amount INT(10), discount INT (10), overall INT(10)); INSERT INTO user_orders(id,o_name,amount,discount,overall) VALUES (1,'first', 10,0,10); INSERT INTO user_orders(id,o_nam

我将直接切入要点

我的桌子看起来像这样

CREATE TABLE user_orders(id INT(11), o_name VARCHAR(60), amount INT(10), discount INT (10), overall INT(10));
INSERT INTO user_orders(id,o_name,amount,discount,overall) VALUES (1,'first', 10,0,10);
INSERT INTO user_orders(id,o_name,amount,discount,overall) VALUES (2,'second', 20,20,40);
INSERT INTO user_orders(id,o_name,amount,discount,overall) VALUES (3,'third', 0,0,0);
INSERT INTO user_orders(id,o_name,amount,discount,overall) VALUES (4,'fourth', 40,40,80);
这就是我想得到的:

SELECT * FROM user_orders
WHERE amount=discount
AND amount!=0 AND discount!=0;

金额
折扣
字段相同且不等于零时,我试图从表中获取数据

所以我用CI写了这个

    $this->db->select('count( id ) AS total_discounted',FALSE);
    $this->db->where('amount','discounts');     
    $this->db->where('discounts !=',0);
    $this->db->where('amount !=',0);

    $results=$this->db->get('user_orders');
    echo $this->db->last_query();
这将生成查询

SELECT * FROM user_orders
WHERE amount='discount'
AND amount!=0 AND discount!=0;
其中金额与字符串“
折扣
”进行比较,而不是与字段
折扣
进行比较

如何使用CI实现这类事情?有什么线索吗?

试试这个:

$where = "amount=discount";
$this->db->where($where);
试试
$this->db->where('amount=折扣')

在代码点火器3中:

$this->db->where('amount', 'discount', false);

第三个参数将。

尝试
$this->db->where('amount=discount')这起作用了。请把它作为答案贴出来@DishaV.错误号:1054“where子句”中的未知列“金额=折扣”选择计数(id)作为(
用户订单
)中的折扣总额,其中
金额=折扣
谢谢。这节省了我的时间。