如果更新请求中某个字段不为空,我尝试将 INT 列增加 1,目前我也有此更新列,
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);
}
我需要知道的是如何检查发送到日志字段的值是否为 NULL,如果是,我如何将名为 count 的列增加 1?
尝试使用这个:
$this->db->set('field', 'field+1', FALSE);
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)
}
如何使用三元运算符,即
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);
}
如果它为空,那么该值就需要是?