просто получите целевую строку перед обновлением: -
$result=$this->db->select('id')
->from('table_name')
->where_not_in('id', $notEditableIds)
->where($key, $oldValue)
->or_where($key, NULL)->result_array();
$this->db->where_not_in('id', $notEditableIds)
->where($key, $oldValue)
->or_where($key, NULL)
->update('fields', array($key => $value));
if($this->db->affected_rows()){
return $result;
}
else{
return [];
}