Php 如何在codeigniter中更新数据库中特定列的值
目前,我在电子商务网站上工作,在供应商方面,每当用户生成订单时,订单金额应添加到钱包中 (例如,如果供应商钱包中的金额为1500,且用户生成的订单为500,则钱包的更新值应为2000),但在我的情况下,它将变为500。如果有人知道解决方案,请提供帮助。下面是我的controller.php代码Php 如何在codeigniter中更新数据库中特定列的值,php,mysql,codeigniter,Php,Mysql,Codeigniter,目前,我在电子商务网站上工作,在供应商方面,每当用户生成订单时,订单金额应添加到钱包中 (例如,如果供应商钱包中的金额为1500,且用户生成的订单为500,则钱包的更新值应为2000),但在我的情况下,它将变为500。如果有人知道解决方案,请提供帮助。下面是我的controller.php代码 Public function clone_job() { $sellerData = $this->Mdl_admin_login->seller_list();
Public function clone_job()
{
$sellerData = $this->Mdl_admin_login->seller_list();
foreach ($sellerData as $seller)
{
$wallet = 0;
$payment = $this->Mdl_admin_login->get_payment_list($seller['id']);
foreach ($payment as $payments){
$wallet = $wallet + $payments['settlement_price']*$payments['qty'];
$wallets = $this->Mdl_admin_login->add_wallet($wallet,$seller['id']);
$is_pay = $this->Mdl_admin_login->is_pay($payments['id']);
}
}
}
model.php
function add_wallet($wallet,$id)
{
$data = array(
'wallet' => $wallet,
);
$this->db->where('id',$id);
$this->db->update('seller', $data);
}
你可以用like
请试试这个
function add_wallet($wallet,$id){
$this->db->set('wallet', 'wallet+'. $wallet, false);
$this->db->where('id',$id);
$this->db->update('seller');
}
哪个变量或行表示金额500和1500?
function add_wallet($wallet,$id){
$this->db->set('wallet', 'wallet+'. $wallet, false);
$this->db->where('id',$id);
$this->db->update('seller');
}