禁用或绕过 cakePHP3 中的名称约定



我有以下数据:

 Database name = ThisDatabase
 Table name    = InfoData

cakePHP3 转换名称

 ThisDatabase = this_database
 InfoData    = info_data

我的问题是我没有机会重命名数据库或表名称,所以我必须禁用或绕过 cakePHP3 中的名称转换。但我不知道我该怎么做。

如何禁用转换?所以我可以使用实际名称(ThisDatabase 和 InfoData)。

您应该遵循文件和 cakephp 的命名约定才能正常工作,并在AppModelTableArticlesTable.php的初始化函数中指定表名

在这里您可以找到相关文档

这很简单,CakePHP 为您提供了一种根据需要更改表名称的方法。

对于数据库,

在应用程序配置中,设置数据库名称:

...
'Datasources' => [
    'default' => [
        ...
        'username' => 'username',
        'password' => 'password',
        'database' => 'ThisDatabase', // Here you can set the database name
        'encoding' => 'utf8',    
        ..
    ]
],
...

这是一些文档

对于表名

:在表定义中,更改表名

class Infodata extends Table
{
    public function initialize(array $config)
    {
        $this->table('InfoData');
    }
}

这是文档