我需要在CakePHP中獲得當前和默認數據庫名稱3.獲取當前數據庫的名字 - CakePHP的3
我知道它可能在CakePHP中2,但不能讓周圍的工作爲CakePHP的3 我已經調查datasource/connectionManager.php中的cakephp庫,但仍然無法使用任何方法。 你能幫我找出當前的連接配置細節嗎? 在此先感謝。
我需要在CakePHP中獲得當前和默認數據庫名稱3.獲取當前數據庫的名字 - CakePHP的3
我知道它可能在CakePHP中2,但不能讓周圍的工作爲CakePHP的3 我已經調查datasource/connectionManager.php中的cakephp庫,但仍然無法使用任何方法。 你能幫我找出當前的連接配置細節嗎? 在此先感謝。
在查看一些核心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'];
是的,我之前的評論主要是爲了給你一個關於如何獲取連接實例的想法。這就是爲什麼它是一個評論不是答案:) – ADmad
感謝提示:) –
「_current_」 是一個相當模糊的術語(類似於適用於 「_default_」,除非你指的是 「默認」 命名的連接) ,因爲在model/table查找/查詢上下文中只有一個「當前」數據庫,甚至只有一個查找,即使是單個查詢,也可能指向多個不同的數據庫。所以你可能想詳細說明「_current_」的含義! – ndm
「當前」這裏是我稱之爲模型類的數據庫。我可以在飛行中創建多個數據庫。所以我想爲當前使用的數據庫名稱。讓我們說,現在我可以只有默認的數據庫名稱。 –
$ SomeModel-> connection() - > configName() – ADmad