2015-10-19 45 views
1

我需要在CakePHP中獲得當前和默認數據庫名稱3.獲取當前數據庫的名字 - CakePHP的3

我知道它可能在CakePHP中2,但不能讓周圍的工作爲CakePHP的3 我已經調查datasource/connectionManager.php中的cakephp庫,但仍然無法使用任何方法。 你能幫我找出當前的連接配置細節嗎? 在此先感謝。

+3

「_current_」 是一個相當模糊的術語(類似於適用於 「_default_」,除非你指的是 「默認」 命名的連接) ,因爲在model/table查找/查詢上下文中只有一個「當前」數據庫,甚至只有一個查找,即使是單個查詢,也可能指向多個不同的數據庫。所以你可能想詳細說明「_current_」的含義! – ndm

+0

「當前」這裏是我稱之爲模型類的數據庫。我可以在飛行中創建多個數據庫。所以我想爲當前使用的數據庫名稱。讓我們說,現在我可以只有默認的數據庫名稱。 –

+0

$ SomeModel-> connection() - > configName() – ADmad

回答

4

在查看一些核心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'];

+0

是的,我之前的評論主要是爲了給你一個關於如何獲取連接實例的想法。這就是爲什麼它是一個評論不是答案:) – ADmad

+0

感謝提示:) –