Magento加入表格

时间:2011-07-15 14:43:58

标签: php magento join

我需要在查询中创建连接costum表。 我需要对按“entity_id”类别排序的所有产品进行循环,如果有效则加入此选择

SELECT *,
    pps_product_id, 
    MIN(pps_last_unit_price) AS pps_last_unit_price, 
    pps_quantity_product
    FROM
    ".Mage::getSingleton('core/resource')->getTableName('purchase_product_supplier')."
    WHERE
    pps_last_unit_price > '0'
    AND pps_last_unit_price != '' AND pps_product_id = ".$data['entity_id']."
    GROUP BY
    pps_product_id

并加入SELECT *, COUNT(entity_id) AS conta FROM ".Mage::getSingleton('core/resource')->getTableName('catalog_category_entity_varchar')." WHERE attribute_id = 192 AND entity_id = ".$IDProduto." AND value != '' AND value != '0' 如果有效。 有人可以帮帮我吗? 感谢

2 个答案:

答案 0 :(得分:2)

首先,通常在Magento中首选使用Magento模型来查询数据库。这样,如果您决定切换,您的查询也可以在其他数据库上运行(据我所知目前不支持,但仍然值得)。

我喜欢使用this linkthis one来计算联接。

你的问题很模糊。你能提供自定义表的架构吗?什么与什么加入?在哪些领域?

首先,我会说它看起来像这样:

$pps = Mage::getModel('purchase_product_supplier')->getCollection()
    ->addAttributeToFilter('pps_last_unit_price', array('gt' => 0))
    ->addAttributeToFilter('pps_last_unit_price', true)
    ->addAttributeToFilter('pps_product_id',      $data['entity_id']);

$pps->getSelect()->join(


);

答案 1 :(得分:2)

为什么不:

$orders->getSelect()->join(
    array('p' => $orders->getResource()->getTable('sales/order_payment')),
        'p.parent_id = main_table.entity_id',
        array('cc_last4' => 'p.cc_last4',
           'cc_type'  => 'p.cc_type',
           'additional_information'  => 'p.additional_information',
        )
     );