douzhang3822 2013-01-17 22:31
浏览 79
已采纳

Magento MySQL - “OR”条件为两个addAttributeToFilter()

In Magento I need to get products without special price within a specific category.

Here is what I come up with:

<?php
$dateYesterday = date( 'm/d/y', mktime( 0, 0, 0, date( 'm' ), date( 'd' ) - 1, date( 'y' ) ) );

$catagoryModel = Mage::getModel( 'catalog/category' )->load( $currentCategoryId );

$productCollection = Mage::getResourceModel( 'catalog/product_collection' );

$productCollection->addAttributeToSelect( 'name' );

$productCollection->addCategoryFilter( $catagoryModel );

$productCollection->addAttributeToFilter( 'special_price', 
    array( 'eq' => '' ) 
);

$productCollection->addAttributeToFilter( 'special_to_date', 
    array( 'date' => true, 'to' => $dateYesterday ) 
);

?>

In the above query, I need to use the "OR" conditional between the two last filters, semantically like this:

$productCollection->addAttributeToFilter( 'special_price', 
array( 'eq' => '' ) );

// OR

$productCollection->addAttributeToFilter( 'special_to_date', 
array( 'date' => true, 'to' => $dateYesterday ) );

In other words:

( special_price = '' OR special_to_date <= $dateYesterday )

Can you help? Thanks!

  • 写回答

2条回答 默认 最新

  • dongqiang5865 2013-01-17 22:40
    关注

    If I remember well, you need to use an array of conditions to create a OR.
    Check out this link to understand what I mean.
    In your case you should join your two conditions in one, like this

    $productCollection->addAttributeToFilter(
                    array(
                        array('attribute'=>'special_price', 'eq'=>''),
                        array('attribute'=>'special_to_date', 'date' => true, 'to' => $dateYesterday )
                    )
                );
    

    I have no Magento installation to try this.
    Maybe the second condition should be slightly different.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 matlab(相关搜索:紧聚焦)
  • ¥15 基于51单片机的厨房煤气泄露检测报警系统设计
  • ¥15 路易威登官网 里边的参数逆向
  • ¥15 Arduino无法同时连接多个hx711模块,如何解决?
  • ¥50 需求一个up主付费课程
  • ¥20 模型在y分布之外的数据上预测能力不好如何解决
  • ¥15 processing提取音乐节奏
  • ¥15 gg加速器加速游戏时,提示不是x86架构
  • ¥15 python按要求编写程序
  • ¥15 Python输入字符串转化为列表排序具体见图,严格按照输入