我对编程、php、Magento 以及最重要的是 SQL 还很陌生。如果这是一个愚蠢的问题,请原谅我。
我正在尝试使用 Magento 集合在两个不同的表中选择两个不同的列并加入它们。这两列包含遵循相同约定的产品编号,我的目标是获取并显示字段 a(我们称之为“product_id”)包含字段 b(“item_nr”)不包含的产品编号。
到目前为止,这是我的函数,当前位于将由控制器操作调用的模型中。
public function importCompare() {
$orderlistCollect = Mage::getModel('personal_orderlist/orderlist')->getCollection()
->addFieldToSelect('product_id')
->addFieldToFilter('b.item_nr', null)
->getSelect()
->joinLeft( array('b'=>$this->getTable('catalog/product')), 'main_table.product_id = b.item_nr', array('b.item_nr'));
echo $orderlistCollect;
}
通过回显变量,我得到以下查询。
SELECT `main_table`.`product_id`, `b`.`erp_item_nr`
FROM `mag1personal_orderlist` AS `main_table`
LEFT JOIN `` AS `b` ON main_table.product_id = b.item_nr
WHERE (b.item_nr = '')
这看起来非常接近我想要的,但是最大的问题是我不知道如何检索我应该从这个查询中获得的信息并回显它。我尝试使用各种集合操作方法均无济于事。乱序使用它们是否也很容易?
任何帮助在这里表示赞赏。