【发布时间】:2013-07-26 02:17:50
【问题描述】:
我已经在同一个 CakePHP 应用程序上工作了几个月(没有版本迁移),最近遇到了一个错误,我似乎找不到任何原因。错误消息说它来自此文件的第 4 行 (Comment.php)
class Comment extends appModel {
var $actsAs = array(
'Containable'
);
var $belongsTo = 'Core';
public $validate = array(
'author' => array(
'rule'=>'notEmpty'
),
'body' => array(
'rule'=>'notEmpty',
'message' => 'You cannot leave a blank comment'
)
);
}
这仅在尝试加载模型时出现:
Controller::loadModel('Comment');
在某些情况下,每个 Core 模型都与一个可以评论的表单相关联。 cmets 通过外键关系 core_id 与 Core 模型相关。每个核心只涉及一个表单,并且可以有任意数量的 cmets。
对于类似问题,我能找到的唯一其他解决方案是从一个版本的 cake 迁移到另一个版本,但自项目开始以来我一直在使用相同的版本。
【问题讨论】:
-
请问是否有 App::uses('AppModel', 'Model');在“评论”模型的顶部
-
在 Comment 模型的顶部没有 App::uses 声明,但我已经解决了由 'appModel' 而不是 'AppModel' 的拼写错误引起的问题。我是否还需要出于其他原因调用 App::uses?
-
如果它在您的版本上运行良好,那么没关系。但从 2.1 版开始,这将是必需的。有关详细信息,请参阅迁移指南。 book.cakephp.org/2.0/en/appendices/2-1-migration-guide.html
标签: php cakephp model cakephp-2.1 cakephp-model