Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从自定义查询创建Magento集合对象_Magento - Fatal编程技术网

从自定义查询创建Magento集合对象

从自定义查询创建Magento集合对象,magento,Magento,我正在构建一个自定义模块,我想使用下面三个表创建集合对象 下面是针对该问题的sql查询,但当我尝试在magento中作为集合对象实现时,我被卡住了 SELECT `e` . * , `at_color`.`value` AS `color` FROM `catalog_product_entity` AS `e` INNER JOIN `catalog_product_entity_int` AS `at_color` ON ( `at_color`.

我正在构建一个自定义模块,我想使用下面三个表创建集合对象

下面是针对该问题的sql查询,但当我尝试在magento中作为集合对象实现时,我被卡住了

SELECT 
    `e` . * , `at_color`.`value` AS `color` 
FROM 
    `catalog_product_entity` AS `e`
INNER JOIN 
    `catalog_product_entity_int` AS `at_color` 
ON 
    ( `at_color`.`entity_id` = `e`.`entity_id` )
    AND (`at_color`.`attribute_id` = '92') 
    AND (`at_color`.`store_id` =0) 
INNER JOIN 
    catalog_product_entity_text 
ON 
    catalog_product_entity_text.entity_id = e.entity_id 
    AND catalog_product_entity_text.value LIKE '%jean%'
WHERE
    (at_color.value =6)
请告知我如何连接这3个表以生成上述结果作为集合对象

SELECT 
    `e` . * , `at_color`.`value` AS `color` 
FROM 
    `catalog_product_entity` AS `e`
INNER JOIN 
    `catalog_product_entity_int` AS `at_color` 
ON 
    ( `at_color`.`entity_id` = `e`.`entity_id` )
    AND (`at_color`.`attribute_id` = '92') 
    AND (`at_color`.`store_id` =0) 
INNER JOIN 
    catalog_product_entity_text 
ON 
    catalog_product_entity_text.entity_id = e.entity_id 
    AND catalog_product_entity_text.value LIKE '%jean%'
WHERE
    (at_color.value =6)
我使用了下面的代码,但得到了一个错误 “致命错误:调用未定义的方法Mage\u Catalog\u Model\u Resource\u Product\u Collection::join()” 如果密码有问题,请告诉我。Phpmyadmin为上述sql查询生成结果。 $collection=$this->getCollection() ->连接(数组('at_color'=>'catalog_product_entity_int')、'at_color.entity_id=e.entity_id和at_color.attribute_id=92')) ->连接(数组('c'=>'catalog\u product\u entity\u text')、'c.entity\u id=e.entity\u id和类似“%jean%”的c.value)->列(数组('value')、'at\u color')->其中('at\u color.value=?',6)

echo$collection->getSelect()


我正在扩展model Mage_Catalog_model_Product以创建自定义模块的模型。

因为您使用的是产品实体,所以不必创建自定义查询,而是尝试在产品集合上使用
addAttributeToFilter()


有关如何使用它的更多信息,请访问

尝试使用$this->getCollection()->getSelect()->join(。。。