带下划线表的Cakephp忽略模型

goi*_*ing 2 php cakephp

我有一个表指标和另一个表metric_levels.在Metric模型中,我有$ hasMany ='MetricLevels',但MetricLevels模型中的任何内容都被完全忽略.

但是,如果我将模型重命名为'Metric'并且使用$ useTable ='metric_levels'它可以正常工作.我尝试了所有组合,但似乎都没有.我尝试过复数,单数,下划线,似乎没什么用.简单地忽略该模型,它只从数据库中获取值.

任何帮助表示赞赏.

dec*_*eze 7

你的具体问题是什么并不十分清楚,所以只需几点:

  • 型号名称总是单数
    • 度量标准具有多个MetricLevel
  • 表名是复数,并被翻译成单数模型,下划线转换为CamelCase
    • MetricLevel => metric_levels
  • 即使你没有创建模型,Cake也会让你使用它并为你动起来,通过上面的命名约定来推断表名
  • 如果Cake"忽略"你的模型,那就意味着它正在构建另一个模型,因为你没有为你真正想要的模型使用正确的名称
  • debug = 2帮助中查看生成的SQL查询

http://book.cakephp.org/view/24/Model-and-Database-Conventions