Magento veritabanına bağlanmak nasıl?

2 Cevap php

Ben her sayfa isteği başında veritabanına bağlanmak için gereken basit bir Magento Modülü inşa etmeye çalışıyorum. Tüm tablolar ona erişilebilir olması gerekir. Ben bunu nasıl anlamaya çalışırken saçımı çekerek oldum. Ben anlamaya iyi ben bu komut / bunun nasıl kullanılabileceği, ben anlamaya mümkün olmamıştır tam olarak ne benim modülünün config.xml dosyasında bu ayarlamanız gerekir, ama oldu.

Birisi bana yol veya nasıl bu gerçekleştirmek için bana gösterebilir misiniz? Eğer değilse, elle veritabanına bağlanan özel bir config.php dosya eklemek için bir uygulama çok kötü olurdu?

2 Cevap

Bir kaynak model veya varlık kullanmaya çalışıyorsunuz? Burada ham SQL kullanarak bir tablo sorgulayabilirsiniz nasıl ama tabloismi bilmeniz gerekir.

$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;
}

Tüm model için çalışırken kullanabileceğiniz

$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());
}

Benim özel modülleri için ikinci yöntemi kullanın ve benim için iyi dışarı çalıştı, bu cevap yardımcı olur umarım :)

Ne addAttributeToFilter yok nesneler hakkında? Ben onun adına ve hiçbir eser bir rol nesne yüklemek için saatlerce çalışıyordum. Tek olası yöntem Unexplicable için değilse mükemmel işe yarayacağını, yük

if (!intval($value) && is_string($value)) { $field = 'role_id'; }

sadece imkansız bir dize değeri kullanarak süzmek için yapar Mage_Admin_Model_Mysql4_Role içinde :: yük.

Magento Rube Goldberg mimarisi vardır ...