Я новичок в программировании, 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 = '')
Это выглядит довольно близко к тому, что я хочу, однако большая проблема заключается в том, что я понятия не имею, как получить информацию, которую я должен получить из этого запроса, и отобразить ее. Я пытался использовать различные методы манипулирования коллекцией, но безрезультатно. Легко ли использовать их не по порядку?
Любая помощь здесь приветствуется.
sku
превращается в getSku, ключ данныхthis_column_name
превращается в getThisColumnName. 08.05.2013