Не могу загрузить модель для Codeigniter - PullRequest
1 голос
/ 27 марта 2012

В моей базе данных есть таблица с именем user_worksheet_records, которую я пытаюсь загрузить в Codeigniter.

SQL-код выглядит следующим образом:

CREATE TABLE `user_worksheet_records` (
    `rid` INT(10) NOT NULL AUTO_INCREMENT,
    `uid` INT(10) NOT NULL,
    `worksheet_id` INT(10) NOT NULL,
    `page_num` INT(10) NOT NULL,
    `score` INT(10) NOT NULL,
    `time_taken` TIME NOT NULL,
    `last_updated` DATETIME NOT NULL,
    `record_date` DATETIME NOT NULL,
    PRIMARY KEY (`rid`),
    INDEX `user_worksheet_record_user` (`uid`),
    INDEX `user_worksheet_record_worksheet` (`worksheet_id`),
    CONSTRAINT `user_worksheet_record_user` FOREIGN KEY (`uid`) REFERENCES `users` (`uid`),
    CONSTRAINT `user_worksheet_record_worksheet` FOREIGN KEY (`worksheet_id`) REFERENCES `worksheets` (`wsid`)
)
COLLATE='latin1_swedish_ci'
ENGINE=InnoDB
AUTO_INCREMENT=5;

код модели для этой таблицы (user_worksheet_records_model.php):

<?php
class User_worksheet_records_model extends MY_Model {
    public function __construct(){
        $this->_table = 'user_worksheet_records';
        $this->primary_key = 'rid';
        $this->load->database();
    }
}

Удивительно удобный код суперкласса My_model, полученный здесь: https://github.com/jamierumbelow/codeigniter-base-model

Используя некоторые комментарии, я понял, что это происходит в этой строке.

$this->load->model('user_worksheet_records_model');

Я использовал свой код загрузки модели для многих других моделей, и я не могу найти никаких ошибок, просматривая мой код.Я предполагаю, что случайно наткнулся на какое-то ключевое слово в базе данных / codeigniter, но, кажется, я ничего не могу найти при просмотре кода.Кто-нибудь знает, что происходит или как заставить Codeigniter выдавать сообщения об ошибках?Я установил log_threshold в config на 4, но сообщения об ошибках или сбоях не регистрировались.

Help!

Ответы [ 2 ]

2 голосов
/ 27 марта 2012

используйте parent::__construct(); в вашем методе __construct.

1 голос
/ 28 марта 2012

Ошибка была в следующих двух строках:

<?php
class User_...

Включение показа всех символов дает:

<?php{CR}
class User_...

Решением было добавить пробел:

<?php {CR}
class User_...

Понял это, перепечатав контроллер, обнаружив, что он начал работать, и сравнив его с моей проверкой хранилища.

Я даже не знал, что это может быть ошибкой ...

...