我想在销售网格视图中显示一些附加数据并能够对其进行过滤
我正在尝试为每个订单显示 SKU、产品名称、总数量和产品制造商(或类别或其他属性)
使用此代码,我可以获得前三个
$collection = Mage::getResourceModel($this->_getCollectionClass());
$collection
->join(
array('s'=>'sales/order_item'),
'`main_table`.entity_id=s.order_id',
array(
'skus' => new Zend_Db_Expr('group_concat(s.sku SEPARATOR ", ")'),
'names' => new Zend_Db_Expr('group_concat(s.name SEPARATOR ", ")'),
'items' => new Zend_Db_Expr('count(s.qty_ordered)'),
)
);
$collection->getSelect()->group('entity_id');
它有效:)
要获取附加数据(es:locality,产品的自定义属性),我必须进行另一个连接以获取产品数据,所以我想我的代码应该类似于
$collection = Mage::getResourceModel($this->_getCollectionClass());
$collection
->join(
array('s'=>'sales/order_item'),
'`main_table`.entity_id=s.order_id',
array(
'skus' => new Zend_Db_Expr('group_concat(s.sku SEPARATOR ", ")'),
'names' => new Zend_Db_Expr('group_concat(s.name SEPARATOR ", ")'),
'items' => new Zend_Db_Expr('count(s.qty_ordered)'),
)
);
$collection //OR $collection->getSelect() both don't work
->join(
array('p'=>'catalog/product'),
'p.entity_id=s.product_id',
array(
.....
)
);
.... more stuff
$collection->getSelect()->group('entity_id');
但是每次我尝试添加第二个连接时,我都会在日志中收到一个模板 o_O 错误
2013-10-03T14:27:00+00:00 调试(7):无法加载模板:[MYBASEDIR]/app/design/adminhtml/default/default/template/widget/grid/container.phtml
2013-10-03T14:27:00+00:00 调试(7):无法加载模板:[MYBASEDIR]/app/design/adminhtml/default/default/template/page.phtml
我真的一无所知...如何解决这个问题?如何在该集合中加入超过 1 个...?
谢谢