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

Ash*_*ary 2 php cakephp

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

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

Ash*_*ary 5

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

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

$this->{$modelName}->connection()->config();
Run Code Online (Sandbox Code Playgroud)

将给出配置,并且,

$this->{$modelName}->connection()->config()['database'];
Run Code Online (Sandbox Code Playgroud)

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

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

$dataSourceObject = ConnectionManager::get($connectionName); // $connectionName can be 'default'
Run Code Online (Sandbox Code Playgroud)

配置: $dataSourceObject->config();

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