Codeigniter DB запросов не захватывает некоторые конкретные c запросов - PullRequest
0 голосов
/ 26 февраля 2020

пытаюсь захватить все запросы и записать журнал взаимодействий, однако некоторые запросы не регистрируются, например, этот конкретный c запрос:

$this->db->update('showtec.motoristas', $motorista);

Я фиксирую запросы с помощью функции Hooks вот так: Крючки. php:

$hook['post_controller'] = array(
    'class' => 'Db_query_log',
    'function' => 'log_db_queries',
    'filename' => 'db_log.php',
    'filepath' => 'hooks'
);

db_log. php:

    <?php

class Db_query_log {

    function __construct() {
    }

    function log_db_queries() {
        $CI =& get_instance();
        $CI->load->model('auditoria');
        $data = array();

        $queries = $CI->db->queries;
        $data['id_usuario_gestor'] = $CI->auth->get_login('id_user');

        foreach ($queries as $query){
            if (preg_match($pattern = '/' . 'INSERT' . '/', $query)){
                $queryArray = explode("`", $query);
                if($queryArray[3] != 'ip'){
                    $data['query'] = $query;
                    $data['clause'] = 'insert';
                    break;
                }
            }elseif (preg_match($pattern = '/' . 'UPDATE' . '/', $query)){
                $data['query'] = $query;
                $data['clause'] = 'update';
                break;
            }elseif (preg_match($pattern = '/' . 'DELETE' . '/', $query)){
                $data['query'] = $query;
                $data['clause'] = 'delete';
                break;
            }
        }

        if(array_key_exists('query', $data)){
            $CI->auditoria->salvarAuditoria($data);
        }

    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...