Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Codeigniter活动记录帮助_Php_Mysql_Activerecord_Codeigniter - Fatal编程技术网

Php Codeigniter活动记录帮助

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', $

如果某个字段在更新请求中不为null,我尝试将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);
}
我需要知道的是,如何检查发送到日志字段的值是否为空,如果为空,如何将名为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)
}