我在Magento中加入Collection时遇到问题。当我回应我的查询时,有main_table而不是产品。这是我的查询和
SELECT `main_table`.*, `cat`.`name` FROM `product` AS `main_table` INNER JOIN `` AS `cat` ON product.cat_id = cat.id
使用Action名称getProductData()阻止。
public function getProductData()
{
$collection = Mage::getModel('web/product')->getCollection();
$collection->getSelect()->joinInner( array('cat'=>$this->getTable('web/web')), 'product.cat_id = cat.id', array('name'));
//echo $collection->getSelect(); die;
return $collection;
}
我需要在这个行动中改变什么?任何帮助将不胜感激。
答案 0 :(得分:1)
在集合中将product
表视为main_table
是正常的,但您的函数$this->getTable('web/web')
未返回表名。您可以尝试使用该表的静态名称进行测试。或者使用Mage::getSingleton('core/resource')->getTableName('web/web');
代替$this->getTable('web/web')
。