如何使用Cake在表名设置表模式?

时间:2012-11-19 17:48:41

标签: postgresql cakephp

PostgreSQL,Oracle和许多其他DBMS使用SCHEMA,因此,表名是

schema_name.table_name

但CakePHP手册并没有说明这一点。 CakePHP默认值中的Model,View和Controller名称怎么样?我可以使用像前缀这样的解决方案,也就是说,在所有数据库操作中都使用相同的模式名称。


PS1:请不要与method Modelschema混淆,以及有关访问此方法的问题。

PS2:Bill's 2006 solution不是更好的,因为没有更新(我正在使用CakePHP2)并且不是“官方cakePHP解决方案”。

PS3:database.php有一些架构属性吗? CakePHP文档的链接是什么?

1 个答案:

答案 0 :(得分:1)

在CakePHP中,您必须定义更多数据库配置。

在CakePHP 2中:

  • 将'schema'参数设置为您的配置
  • 为您的所有架构创建新配置
  • 在模型中使用正确的架构

例如,数据库conf:

class AppModel extends AppModel {
    public $useDbConfig = 'other_schema';
}

如果您想在模型中使用它:

use Cake\Datasource\ConnectionManager;
$connection = ConnectionManager::get('default');

在CakePHP3中是一样的,只是数据库是config / app.php,你必须使用

change