Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.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
Php 将mysql查询转换为magento模型格式_Php_Mysql_Magento_Join_Zend Framework - Fatal编程技术网

Php 将mysql查询转换为magento模型格式

Php 将mysql查询转换为magento模型格式,php,mysql,magento,join,zend-framework,Php,Mysql,Magento,Join,Zend Framework,我有下面的查询,我正试图转换为Magento模型格式,但转换后的结果不一样,并得到相同的错误 查询是: SELECT ce_varchar.value AS CODE, sfoi.order_id, sfo.increment_id, COUNT(sfoi.`order_id`) AS totalOrders, ea.attribute_id, ea.attribute_code, pv.value, sfo.created_at FROM

我有下面的查询,我正试图转换为Magento模型格式,但转换后的结果不一样,并得到相同的错误

查询是:

SELECT 
  ce_varchar.value AS CODE,

  sfoi.order_id,

  sfo.increment_id,

  COUNT(sfoi.`order_id`) AS totalOrders,

  ea.attribute_id,

  ea.attribute_code,

  pv.value,

  sfo.created_at 

FROM
  mage_catalog_product_entity AS ce

  INNER JOIN mage_eav_attribute AS ea

    ON ce.entity_type_id = ea.entity_type_id

  INNER JOIN mage_catalog_product_entity_varchar AS ce_varchar

    ON ce.entity_id = ce_varchar.entity_id 

    AND ea.attribute_id = ce_varchar.attribute_id 

    AND ea.backend_type = 'varchar' 

  INNER JOIN mage_sales_flat_order_item AS sfoi 

    ON sfoi.product_id = ce.entity_id 

  INNER JOIN mage_sales_flat_order AS sfo 

    ON sfo.entity_id = sfoi.order_id 

  INNER JOIN mage_catalog_product_entity_varchar pv 

    ON pv.entity_id = ce.entity_id 

WHERE ea.attribute_id = 1062 

  AND pv.attribute_id = 96 

  AND LOWER(sfo.lead_status) IN ('converted', 'unconverted') 

  AND ce_varchar.value IS NOT NULL
以下是我对Magento模型格式查询的失败尝试

        $collection = Mage::getModel('catalog/product')->getCollection();
        $collection->getSelect()
       ->join(array('ea'=>'eav/attribute'),
            'ea.entity_type_id = ea.entity_type_id',array(''))
        ->join(array('ce_varchar'=>'catalog/product_entity_varchar'),
            'main_table.entity_id = ce_varchar.entity_id')

        ->join(array('sfoi'=>'sales/flat_order_item'),
            'sfoi.product_id = ce.entity_id',array(''))
        ->join(array('sfo'=>'sales/flat_order'),
            'sfo.entity_id = sfoi.order_id ',array(''))
        ->join(array('pv'=>'catalog/product_entity_varchar'),
            'pv.entity_id = main_table.entity_id',array(''))
            ->addFieldToSelect('entity_id')
        ->addFieldToSelect('cut_sample_location')
        ->addExpressionFieldToSelect('tatalOrders','COUNT(sfoi.`order_id`)','sfoi.order_id')
        ->addFieldToFilter('ea.attribute_id',1062)
         ->addFieldToFilter('pv.attribute_id',96)
           ->addFieldToFilter('sfo.lead_status', array('in' => array('converted',
                        'unconverted')))
        ->addFieldToFilter('ce_varchar.value' != null) 

        ->group('main_table.entity_id , ce_varchar.value')
        ->order('DESC')
        ->limit(30);

你能描述一下你想要获取的信息吗?这样看起来有点乱。如果需要的话,只需添加一个简单的列表和一个小的描述。我正在尝试根据自定义产品属性检索订单总数,即“cut\u sample\u location”,并按名为lead status的字段过滤订单。您能描述一下您试图检索的哪种信息吗?这样看起来有点乱。如果需要的话,只需添加一个简单的列表和一个小的描述。我试图根据自定义产品属性(即“cut\u sample\u location”)检索订单总数,并按名为lead status的字段过滤订单