Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.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 Magento SQL查询-按类别筛选产品_Php_Mysql_Sql_Magento_Magento 1.6 - Fatal编程技术网

Php Magento SQL查询-按类别筛选产品

Php Magento SQL查询-按类别筛选产品,php,mysql,sql,magento,magento-1.6,Php,Mysql,Sql,Magento,Magento 1.6,我使用以下SQL查询检索产品: $query = "SELECT *,m.m_name,m.m_website FROM belvg_countdown c INNER JOIN catalog_product_entity e ON e.entity_id=c.entity_id LEFT JOIN manufacturers_products mp ON c.entity_id=mp.product_id LEFT JOIN manufacturers m ON mp.manufactur

我使用以下SQL查询检索产品:

$query = "SELECT *,m.m_name,m.m_website FROM belvg_countdown c 
INNER JOIN catalog_product_entity e ON e.entity_id=c.entity_id
LEFT JOIN manufacturers_products mp ON c.entity_id=mp.product_id
LEFT JOIN manufacturers m ON mp.manufacturers_id=m.manufacturers_id
WHERE DATE_FORMAT(expire_datetime_off , '%Y-%m-%d') > DATE_FORMAT(NOW() , '%Y-%m-%d')
AND DATE_FORMAT(expire_datetime_on , '%Y-%m-%d')!=DATE_FORMAT(NOW() , '%Y-%m-%d')
AND entity_type='product'";
现在,我还要添加一条语句,以仅加载名为“featured”的类别中的产品。 你能帮我理解我应该比较/查询什么才能得到“特色”产品吗


谢谢。

请参见下面的URL,这对您非常有帮助

或者试试看

好的,我认为这是有效的,没有测试太多,但似乎已经做到了。您需要首先获取您的门店根类别id,然后加入一些字段,这样您就可以访问产品“category_id”,然后使用该id进行过滤:

$_rootcatID = Mage::app()->getStore()->getRootCategoryId();

$_testproductCollection = Mage::getResourceModel('catalog/product_collection')
->joinField('category_id','catalog/category_product','category_id','product_id=entity_id',null,'left')
->addAttributeToFilter('category_id', array('in' => $_rootcatID))
->addAttributeToSelect('*');
$_testproductCollection->load();

foreach($_testproductCollection as $_testproduct){ 
    echo $this->htmlEscape($_testproduct->getName())."<br/>"; 
};
$\u rootcatID=Mage::app()->getStore()->getRootCategoryId();
$\u testproductCollection=Mage::getResourceModel('目录/产品\u集合')
->joinField('category_id'、'category/category_product'、'category_id'、'product_id=entity_id',null,'left')
->addAttributeToFilter('category_id',array('in'=>$\u rootcatID))
->addAttributeToSelect('*');
$\u testproductCollection->load();
foreach($\u testproductCollection作为$\u testproduct){
echo$this->htmlEscape($\u testproduct->getName())。“
”; };
从特定类别中获取活动产品不需要所有这些查询。 使用集合

$producs = Mage::getModel('catalog/category')->load(#categoryid or $_category->getId())
            ->getProductCollection()
            ->addAttributeToSelect('*')
            ->addAttributeToFilter('is_saleable', 1)
            ->joinField('is_in_stock', 'cataloginventory/stock_item', 'is_in_stock', 'product_id=entity_id', '{{table}}.stock_id=1', 'left');

如您所见,我们还查询“belvg_倒计时”。事实上,我们只选择在一定范围内的产品。如何使用该模型转换上面的整个查询?你能提供一个例子吗?嗨,我帖子中的查询被认为是使用倒计时扩展的,它只选择在一定时间范围内的产品,因此我们有一个简单的sql。我可以在自定义扩展表上使用类似的东西,但也可以使用内部联接吗?您可以使用我在前面的行的末尾显示的thar命令;您可以将此->getSelect()->;现在您有了来自此集合命令的sql查询。