获取当前数据库名称 - cakephp 3

时间:2015-10-19 11:53:12

标签: php cakephp

我需要在cakephp 3中获取当前和默认的DB名称。

我知道在cakephp 2中它的可能性如何但却无法为cakephp 3找到解决方法。 我已经查看了datasource / connectionManager.php中的cakephp库,但仍然无法使用任何方法。 你能帮我找出当前的连接配置细节吗? 提前谢谢。

2 个答案:

答案 0 :(得分:5)

在查看了一些核心的cakephp文件后,我找到了答案。再加上ADmad的回答给了我一个提示。我发现了两种方法。

方法1:使用当前模型对象。

$this->{$modelName}->connection()->config();

将给出配置,和

$this->{$modelName}->connection()->config()['database'];

将提供当前的数据库名称。

方法2:使用数据源对象。

$dataSourceObject = ConnectionManager::get($connectionName); // $connectionName can be 'default'

配置:$dataSourceObject->config();

当前数据库名称:$dataSourceObject->config()['database'];

答案 1 :(得分:0)

如果您使用的是旧版本的CakePHP(我的版本为2.4.6),则还可以使用:

ConnectionManager::$config->default['database']

,您可以通过以下方式加载ConnectionManager:

App::uses('ConnectionManager', 'Model');