我创建了一个名为 quantities_master
的表格,但当我使用模式名称作为 QuantitiesMaster
时,它会显示一些错误。什么是 quantities_master
表名的模态名称?
答案 0 :(得分:0)
该模型正在寻找quantities_masters
表。在课程开头添加这一行,它将正常工作:
class QuantitiesMaster extends AppModel {
public $useTable = 'quantities_master';
}
答案 1 :(得分:0)
在CakePHP中,表名应该是复数,模型名称应该是单数。因此,您应该有一个名为quantities_masters
和QuantitiesMaster
模型的表。
但是,如果你需要拥有一个带有单数名称的表,你可以在模型中定义它。
在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非常方便。