通过派对的cakephp命名约定

时间:2012-07-03 07:26:07

标签: database cakephp model

这是cakephp中的规则,在创建表时,它必须是模型的复数形式。问题是,由于一些复杂的情况,我不能在这里重命名一个单数形式的表。这就是cakephp给我一个错误的原因。我试过这个:

class Color_Schema extends AppModel{
    var $name = 'ColorSchema';
    var $useTable = 'color_schema';
}

但它不起作用。

它仍然给我这个错误......

Error: Table color_schemas for model ColorSchema was not found in datasource default.

2 个答案:

答案 0 :(得分:5)

似乎自定义Inflector规则是此处的解决方案。请看一下 Inflection configuration。像

这样的东西
Inflector::rules('plural', array('irregular' => array('color_schema' => 'color_schema')));

虽然我不是Inflector专家,但你可能会为你工作。

答案 1 :(得分:0)

我无法看到您尝试访问模型的代码,但是通过错误消息的外观,您在引用模型时忘记了下划线。你需要做这样的事情:

$this->Color_Schema->read(null, 1);

另外,不要忘记将模型添加到控制器顶部的$uses数组中:

public $uses = array('Color_Schema');