Php Codeigniter活动记录帮助
如果某个字段在更新请求中不为null,我尝试将INT列递增1,目前我也有此更新列Php Codeigniter活动记录帮助,php,mysql,activerecord,codeigniter,Php,Mysql,Activerecord,Codeigniter,如果某个字段在更新请求中不为null,我尝试将INT列递增1,目前我也有此更新列 public function updateCronDetails($transaction_reference, $flag, $log) { $data = array ( 'flag' => $flag, 'log' => "$log" ); $this->db->where('transaction_reference', $
public function updateCronDetails($transaction_reference, $flag, $log) {
$data = array (
'flag' => $flag,
'log' => "$log"
);
$this->db->where('transaction_reference', $transaction_reference);
$this->db->update('sy_cron', $data);
}
我需要知道的是,如何检查发送到日志字段的值是否为空,如果为空,如何将名为count的列增加1?尝试使用以下方法:
$this->db->set('field', 'field+1', FALSE);
使用三元运算符,即
public function updateCronDetails($transaction_reference, $flag, $log) {
$data = array (
'flag' => $flag,
'log' => (is_null($log))? 1 : $log,
);
$this->db->where('transaction_reference', $transaction_reference);
$this->db->update('sy_cron', $data);
}
如果为null,那么该值需要为
public function updateCronDetails($transaction_reference, $flag, $log = NULL)
{
// Only increment this field if not null
is_null($log) || $this->db->set('field', 'field+1', FALSE);
$this->db
->set('flag', $flag)
->set('log', $log)
->where('transaction_reference', $transaction_reference)
->update('sy_cron', $data)
}