【问题标题】:Silverstripe: DataList Filter equivalent of 'Value > x OR Value = y'Silverstripe:DataList 过滤器等效于“值 > x 或值 = y”
【发布时间】:2012-11-28 21:58:54
【问题描述】:

我了解我可以通过以下方式为我的过滤器指定多个值:

xxx::get()->filter('FirstName', array('Sam', 'Sig'));

这给了我相当于:

... WHERE FirstName = 'Sam' OR FirstName = 'Sig'

但是,似乎没有将OR 与修饰符 ('LastVisited:GreaterThan' => '2011-01-01') 结合使用

我需要能够像这样过滤:

WHERE ExpiryDate > 29-11-2012 OR ExpiryDate IS NULL

我想要实现的目标可能吗?我已阅读文档,但没有找到问题的答案。

谢谢

【问题讨论】:

    标签: silverstripe


    【解决方案1】:

    如果没有其他方法可以满足您的需求,您始终可以使用 where() 函数。

    xxx::get()->where("\"ExpiryDate\" > 29-11-2012 OR \"ExpiryDate\" IS NULL");
    

    http://doc.silverstripe.org/framework/en/topics/datamodel#where-clauses

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-01
      • 2016-09-30
      • 1970-01-01
      • 2021-10-18
      • 2020-12-24
      相关资源
      最近更新 更多