Cakephp表名错误

时间:2015-11-24 12:31:51

标签: cakephp

我创建了一个名为 quantities_master 的表格,但当我使用模式名称作为 QuantitiesMaster 时,它会显示一些错误。什么是 quantities_master 表名的模态名称?

2 个答案:

答案 0 :(得分:0)

该模型正在寻找quantities_masters表。在课程开头添加这一行,它将正常工作:

class QuantitiesMaster extends AppModel {
    public $useTable = 'quantities_master';
}

答案 1 :(得分:0)

在CakePHP中,表名应该是复数,模型名称应该是单数。因此,您应该有一个名为quantities_mastersQuantitiesMaster模型的表。

但是,如果你需要拥有一个带有单数名称的表,你可以在模型中定义它。

在CakePHP 2中: -

class QuantitiesMaster extends AppModel {

    public $useTable = 'quantities_master';

}

在CakePHP 3中: -

class QuantitiesMasterTable extends Table
{

    public function initialize(array $config)
    {
        $this->table('quantities_master');
    }

}

只有在没有其他选择的情况下才能打破CakePHP的命名约定,因为它使得使用CakePHP变得更加困难!

如果您发现确定CakePHP的复数和单数单词(,如果英语不是您的第一语言),则CakePHP Inflector website非常方便。