Atualizar o valor da tabela de colunas no Codeigniter com Array [duplicado]
Aug 16 2020
Eu tenho uma função para atualizar a tabela como abaixo
$update_data = array( 'total_pending'=>$amount,
'total_received'=>0,
'total_send'=>0,
'my_wallet'=>0,
'spen_in_app'=>0,
'check_in'=>0,
'upload_video'=>0,
'from_fans'=>0,
'purchased'=>0
);
Está funcionando bem, mas eu quero atualizar a coluna total_pending com total_pending + $ amount, mas está dando um erro como
A non-numeric value encountered
Alguém pode me ajudar para resolver o problema? obrigado
Respostas
1 DilipPatel Aug 17 2020 at 05:55
você pode usar assim porque total_pending é o nome da coluna
$update_data = array( 'total_pending'=> `total_pending` + $amount,
'total_received'=>0,
'total_send'=>0,
'my_wallet'=>0,
'spen_in_app'=>0,
'check_in'=>0,
'upload_video'=>0,
'from_fans'=>0,
'purchased'=>0
);
Armnature Aug 17 2020 at 07:47
Basta alterar o método de atualização BULK com $ query-> set e incluir este código lá
$this->db->set('total_pending', "total_pending+$amount");
AnkitJindal Aug 17 2020 at 05:08
Tente usar um dos métodos abaixo:
Se você deseja definir colunas individualmente, pode definir algumas condições if sobre estas:
$this->db->set('total_received', 0); $this->db->set('my_wallet', 0);
$this->db->set('total_send', 0); $this->db->set('from_fans', 0);
$this->db->set('my_wallet', 0); $this->db->set('check_in', 0);
$this->db->set('purchased', 0); $this->db->set('upload_video', 0);
$this->db->set('spen_in_app', 0); $this->db->where(condition); //like ('id', $id) $this->db->set('total_pending', "total_pending+$amount"); $this->db->update('tablename');
Ou você pode tentar o método abaixo enviando todas as colunas em uma única matriz:
$update_data = array( 'total_pending'=> `total_pending` + $amount,
'total_received'=>0,
'total_send'=>0,
'my_wallet'=>0,
'spen_in_app'=>0,
'check_in'=>0,
'upload_video'=>0,
'from_fans'=>0,
'purchased'=>0
);
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?
George Harrison ficou chateado por suas letras de 'Hurdy Gurdy Man' de Donovan não terem sido usadas