如何在Magento中连接数据库?

Cli*_*ote 5 php magento

我正在尝试构建一个简单的Magento模块,它需要在每个页面请求开始时连接到数据库.所有表都需要可访问.我一直在试着理解如何去做我的头发.我能想到的最好的是我需要在config.xml我的模块文件中设置它,但确切地说该命令是什么/如何使用它,我一直无法弄清楚.

有人可以指导我或告诉我如何做到这一点?如果没有,那么包含config.php手动连接到数据库的自定义文件是否太糟糕?

Ric*_*k J 16

您是否尝试使用资源模型或实体?以下是使用原始SQL查询表的方法,但您需要知道表名.

$w = Mage::getSingleton('core/resource')->getConnection('core_write');
$result = $w->query('select entity_id from catalog_product_entity');

if (!$result) {
    return false;
}

$row = $result->fetch(PDO::FETCH_ASSOC);
if (!$row) {
    return false;
}
Run Code Online (Sandbox Code Playgroud)

尝试所有模型时,您可以使用

$products = Mage::getModel('catalog/product')->getCollection();

$products->addAttributeToFilter('entity_id', array('in' => array(1,2)));

$products->addAttributeToSelect('*');
$products->load();

foreach ($products as $_prod) {
   var_dump($_prod->getData());
}
Run Code Online (Sandbox Code Playgroud)

我使用第二种方法为我的自定义模块,它对我来说很好,希望这个答案有帮助:)

  • 关于您使用原始SQL方法的问题...使用getSingleton而不是getResourceSingleton. (2认同)