无法为 Codeigniter 加载模型
Posted
技术标签:
【中文标题】无法为 Codeigniter 加载模型【英文标题】:Can't load model for Codeigniter 【发布时间】:2012-04-10 18:07:18 【问题描述】:我的数据库中有一个名为 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 设置为 4,但没有记录任何错误或崩溃消息。
救命!
【问题讨论】:
你想看到什么?似乎没有设置输出 啊我创建了一个视图,它基本上有一堆加载语句,然后是一堆数据检索调用,然后呈现一个视图,尽管归结为页面的最简单表现形式:第 1 行)$this- >load->model('user_worksheet_records_model');第 2 行) echo '成功加载';成功加载的文本不会显示。 PS:人们如何格式化他们的 cmets 以便代码在这里显示为一个块? 【参考方案1】:在您的 __construct 方法中使用 parent::__construct();
。
【讨论】:
【参考方案2】:错误在于以下两行:
<?php
class User_...
打开显示所有字符会产生:
<?phpCR
class User_...
解决方案是添加一个空格:
<?php CR
class User_...
通过重新键入控制器来解决这个问题,发现它开始工作并与我的存储库签入进行比较。
我什至不知道这可能是一个错误......
【讨论】:
以上是关于无法为 Codeigniter 加载模型的主要内容,如果未能解决你的问题,请参考以下文章
Codeigniter - 只能在 autoload.php 中加载模型