【问题标题】:CakePHP Error: Class 'appModel' not foundCakePHP 错误:找不到类“appModel”
【发布时间】: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


【解决方案1】:

使用

App::uses('AppModel', 'Model');

在评论模型的顶部。

并按如下方式启动评论模型:

class Comment extends AppModel {

大写“A”,而不是小“a”。

【讨论】:

  • 谢谢,我好像没注意到小写的'a'。这就是造成问题的原因。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-08
相关资源
最近更新 更多