2011-01-06 33 views
5

Làm thế nào để bạn lấy tên cơ sở dữ liệu từ Magento?Trong Magento làm thế nào để bạn có được tên cơ sở dữ liệu?

Tôi đã thấy các chức năng giống như chức năng bên dưới có thể lấy tên bảng.

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

Tôi đã hy vọng rằng có một số loại chức năng như thế này:

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

Cảm ơn trước cho bất kỳ ý tưởng.

Trả lời

15

Mỗi mô-đun có thể chỉ định kết nối riêng của nó để bạn có quyền đi qua một mô hình.

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

Nếu bạn chỉ quan tâm đến mặc định một cách hiệu quả hơn một chút có thể là:

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

Các mô hình là cách tôi muốn đi nhưng tôi nhận được lỗi sau khi tôi thử ở trên. Lỗi nghiêm trọng: Gọi đến phương thức chưa xác định Mage_Sales_Model_Mysql4_Order :: getConnection() – woot586

+3

Hãy thử với 'getReadConnection' hoặc' getWriteConnection' thay thế. – clockworkgeek

+2

Thats it, chỉ để tham khảo trong tương lai cho bất cứ ai đọc thay đổi này $ config = Mage :: getResourceModel ('sales/order') -> getConnection() -> getConfig(); tới Mage :: getResourceModel ('sales/order') -> getReadConnection() -> getConfig(); – woot586

Các vấn đề liên quan