2011-01-06 15 views
5

Veritabanı adını Magento'dan nasıl edinirsiniz?Magento'da veritabanı adını nasıl alırsınız?

Tablo adını alabilen aşağıdaki gibi işlevleri gördüm. herhangi fikirler için şimdiden

Mage::getSingleton('core/resource')->getDatabaseName();

Teşekkür:

$orderItemTable = Mage::getSingleton('core/resource')->getTableName('sales/order_item');

böyle işlevi bir çeşit olduğunu umuyordum.

cevap

15

Her modül kendi bağlantısını belirtebilir, bu nedenle bir model üzerinden gitme hakkınız vardır. Varsayılan yalnızca ilgileniyorsanız

$config = Mage::getResourceModel('sales/order')->getConnection()->getConfig(); 
// $config is an array 
$dbname = $config['dbname']; 

biraz daha verimli bir yol olabilir:

$dbname = (string)Mage::getConfig()->getNode('global/resources/default_setup/connection/dbname'); 
+0

model, gitmek istediğim yoldur ancak yukarıdakileri denediğimde aşağıdaki hatayı alıyorum. Önemli hata: Tanımlanmamış yönteme çağrı Mage_Sales_Model_Mysql4_Order :: getConnection() – woot586

+3

Bunun yerine 'getReadConnection' veya' getWriteConnection' ile deneyin. – clockworkgeek

+2

Bu, sadece bu değişikliği okuyan herkes için ileride başvurmak için $ config = Mage :: getResourceModel ('satış/sipariş') -> getConnection() -> getConfig(); to Mage :: getResourceModel ('sales/order') -> getReadConnection() -> getConfig(); – woot586

İlgili konular