magento中的joinAttribute joinField

通常我们使用Mage::getModel('catalog/product')->getCollection()能够获取到产品集。

在这个产品集中,只包含了table catalog_product_entity 中的字段,但是很多时候我们都需要更多的字段,比如产品price,qty等;

一般情况下,我们会这样做:

实际上,上面虽然能获取产品的所有属性,但是在你的product有上万条的时候,就会严重影响性能了。或许你会说用下边的code也可以:

不错,虽然可以得到你想要的属性,但是这仅仅限于系统属性,如qty,因为我们知道qty是存储于 table cataloginventory_stock_item中的,但是

magento中又很多自定义属性,是采用EAV模型存储的,所以上面的方法也不可行了。

还好有 joinAttribute joinField这两个function解决了上面的问题。

比如我想将name添加到collection中

就可以了,将qty添加到collection中

就可以了。

joinAttribute 用来添加EAV模型中的Attribute ,只要在table eav_attribute中能找到的attribute_code都可以在这里使用!


转载请注明出处!






你可能感兴趣的:(attribute)