Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 通过传递表的cakephp命名约定_Database_Cakephp_Model - Fatal编程技术网

Database 通过传递表的cakephp命名约定

Database 通过传递表的cakephp命名约定,database,cakephp,model,Database,Cakephp,Model,这是cakephp中的一条规则,在创建表时,它必须是模型的复数形式。问题是,由于一些复杂的情况,我不能在这里重命名单数形式的表。这就是cakephp给我一个错误的原因。我试过这个: class Color_Schema extends AppModel{ var $name = 'ColorSchema'; var $useTable = 'color_schema'; } 但它不起作用 它仍然给我这个错误 Error: Table color_schemas for mode

这是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.

这里的解决方案似乎是自定义屈折符规则。请看一看 . 差不多

Inflector::rules('plural', array('irregular' => array('color_schema' => 'color_schema')));

可能对您有用,但我不是拐点专家。

我看不到您试图访问模型的代码,但从错误消息的外观来看,您在引用模型时忘记了下划线。您需要这样做:

$this->Color_Schema->read(null, 1);
另外,不要忘记将模型添加到控制器顶部的
$uses
数组中:

public $uses = array('Color_Schema');

错误代码和类中的表名不匹配。。。这是打字错误吗?不是。。我的表名实际上是color_schema。。。。它的单数形式。。但cake有自己的命名规则,即对于表,它应该是其模型的复数形式。。但是,由于情况复杂,我不应该重命名我的表以注销此错误。请帮助我在提交答案之前我应该问这个问题,但是你用的是什么版本的蛋糕?CakePHP<2.0或2.0+?如果您命名类并正确引用它们,那么就不需要弄乱屈折变化规则。