Code Igniter переопределяет БД Active Record - PullRequest
2 голосов
/ 15 июня 2011

Я хочу переопределить класс Active Record (по крайней мере, некоторые его функции). И я сделал файл spj_DB_active_rec.php в папке с именем «database» в папке «application», но он не работает.

имя класса spj_DB_active_record

<?php
class spj_DB_active_record extends CI_DB_active_record {

    function update($table = '', $set = NULL, $where = NULL, $limit = NULL) {
        if (is_array($set) && empty($set['modified'])) {
            $this->load->helper('date');
            $data['modified'] = date('Y-m-d H:i:s',now());
        }

        log_message('debug','TEST UPDATE '.date('Y-m-d H:i:s',time()));

        return parent::update($table, $set, $where, $limit);
    }

    function insert($table = '', $set = NULL) {
        if (is_array($set) && empty($set['modified'])) {
            $this->load->helper('date');
            $data['modified'] = date('Y-m-d H:i:s',now());
        }
        if (is_array($set) && empty($set['created'])) {
            $this->load->helper('date');
            $data['created'] = date('Y-m-d H:i:s',now());
        }

        log_message('debug','TEST INSERT '.date('Y-m-d H:i:s',time()));
        return parent::insert($table, $set);
    }
}

1 Ответ

3 голосов
/ 15 июня 2011

Возможно, это новость для вас, но CodeIgniter 2.0 официально не поддерживает расширение основного класса Active Record. Итак, что вы хотите сделать (к сожалению) не «просто возможно», поместив расширяющийся от него класс где-то на диске.

Но вы можете попробовать этот обходной путь .

...