Silverstripe:DataList过滤器等效于'Value> x OR值= y'

时间:2012-11-28 21:58:55

标签: silverstripe

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

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

我想要实现的目标是什么?我已经阅读了文档,但没有找到我的问题的答案。

由于

1 个答案:

答案 0 :(得分:6)

如果没有其他任何东西可以满足你的需要,你总是可以使用where()功能。

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

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