Как я могу отображать запросы к базе данных в профилировщике Codeigniter, когда я загружаю свои базы данных в свои модели?

Моя система Codeigniter использует несколько баз данных. Мне не нужна каждая база данных на каждой странице, поэтому я загружаю каждое соединение в модель там, где оно необходимо, а затем загружаю необходимые модели в каждый контроллер. Профилировщик не отображает запросы из этих баз данных, когда я загружаю вещи таким образом.

Вот как я загружаю базы данных в свои модели:

$this->Companies_db = $this->load->database( 'companies', TRUE, TRUE );

Раньше я загружал все свои базы данных в МОЙ _контроллер ()(. расширение основного контроллера ). Когда я загружаю их туда, профилировщик работает нормально. Когда я загружаю их в свои модели, он не отображает запросы к базе данных.

Запросы к базе данных компилируются в методе _compile_queries()в рамках system/libraries/Profiler.php. Когда мои базы данных загружаются в модель, их объекты не загружаются в объект CI. Приведенный ниже код — это первые несколько строк метода _compile_queries(), именно здесь это и происходит.

foreach (get_object_vars($this->CI) as $CI_object)
    {
        if (is_object($CI_object) && is_subclass_of(get_class($CI_object), 'CI_DB') )
        {
            $dbs[] = $CI_object;
        }
    }

Как заставить профилировщик CI отображать мои запросы, когда я загружаю свои базы данных в свои модели? Или, точнее, как заставить объекты моей базы данных загружаться в основной объект CI, когда базы данных загружаются в модели.

5
задан T. Brian Jones 10 July 2012 в 23:42
поделиться