如何将此PDO语句转换为CodeIgniter中的活动记录查询?

时间:2016-10-20 07:25:20

标签: php codeigniter activerecord

我有这个PDO语句工作正常,但我怎么能将它转换为CodeIgniter中的活动记录?

我的PDO声明是:

UPDATE mytable set total=bought+re_order-balance where retail_id=? and stock=? and stock_date=?

我尝试了这个,但没有工作:

$data=array(                                                                                            
                    //some other fields
                    'total'=>'bought' + 're_order' - 'balance'                      
                    );

                $this->db->where('retail_id', $someid);
                $this->db->where('stock', $somestock);
                $this->db->where('stock_date', $somestock);
                $this->db->update('mytable',$data); 

当我尝试这个时,它没有同时给出任何错误,它没有更新我在数据库中的总字段。任何帮助请。感谢。

1 个答案:

答案 0 :(得分:2)

以下代码应构建所需的查询。 set()方法的第三个参数可防止数据转义。您可以在docs

中阅读更多内容
$this->db->set('total', 'bought + re_order - balance', FALSE)
            ->where('retail_id', $someid)
            ->where('stock', $somestock)
            ->where('stock_date', $somestock)
            ->update('mytable');