Php 如何在CodeIgniter中将此PDO语句转换为活动记录查询?
我有一个PDO语句可以正常工作,但如何在CodeIgniter中将其转换为活动记录 我的PDO声明是:Php 如何在CodeIgniter中将此PDO语句转换为活动记录查询?,php,codeigniter,activerecord,Php,Codeigniter,Activerecord,我有一个PDO语句可以正常工作,但如何在CodeIgniter中将其转换为活动记录 我的PDO声明是: UPDATE mytable set total=bought+re_order-balance where retail_id=? and stock=? and stock_date=? 我试过这个,但没有成功: $data=array(
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);
当我尝试此操作时,它同时没有给出任何错误,也没有更新数据库中的total字段。请帮忙。谢谢。下面的代码应该可以生成所需的查询。
set()
方法的第三个参数阻止数据转义。你可以在报纸上读到更多关于它的内容
下面的代码应该构建所需的查询。
set()
方法的第三个参数阻止数据转义。你可以在报纸上读到更多关于它的内容
是购买、重新排序和平衡字符串还是数字?它们都是整数。它们也是同一个表中的所有字段。因此,`$data=array('total'=>($bunded+$reorder-$balance))更适合。目前,您正在尝试对Strings进行计算,因此我更希望确保使用表的唯一ID进行更新,上面的where语句是否使用表的唯一ID?除了添加之外,其他所有操作都正常。我认为这个解决方案行不通,它是一个数据库字段,放一个“$”使它看起来像是一个变量。是购买、重新排序和平衡字符串还是数字?它们都是整数。它们也是同一个表中的所有字段。因此,`$data=array('total'=>($bunded+$reorder-$balance))更适合。目前,您正在尝试对Strings进行计算,因此我更希望确保使用表的唯一ID进行更新,上面的where语句是否使用表的唯一ID?除了添加之外,其他所有操作都正常。我认为这个解决方案行不通,它是一个数据库字段,放一个“$”使它看起来像一个变量。
$this->db->set('total', 'bought + re_order - balance', FALSE)
->where('retail_id', $someid)
->where('stock', $somestock)
->where('stock_date', $somestock)
->update('mytable');