如何从Magento获取数据库名称?
我见过类似下面的函数可以得到表名。
$ orderItemTable = Mage :: getSingleton('core / resource') - > getTableName('sales / order_item');
我希望有这样的功能:
法师:: getSingleton( '芯/资源') - > getDatabaseName();
提前感谢任何想法。
答案 0 :(得分:16)
每个模块都可以指定自己的连接,因此您可以通过模型进行操作。
$config = Mage::getResourceModel('sales/order')->getConnection()->getConfig();
// $config is an array
$dbname = $config['dbname'];
如果您只对默认值感兴趣,可能会采用稍微有效的方法:
$dbname = (string)Mage::getConfig()->getNode('global/resources/default_setup/connection/dbname');
答案 1 :(得分:3)
要获取数据库名称,请尝试
Mage::getConfig()->getResourceConnectionConfig('default_setup')->dbname;
答案 2 :(得分:1)
始终可以从Mage :: getSingleton('core / resource')-> getConnection('core_write')获取当前连接,特别是如果仅使用一个数据库的话。
$configArray = Mage::getSingleton('core/resource')->getConnection('core_write')->getConfig();
$db = $configArray['name'];
但是它与zend适配器Zend_Config一起使用
// Create the object-oriented wrapper upon the configuration data
$config = new Zend_Config($configArray);
$db = $config->get('dbname');