【问题标题】:Silverstripe Filter Relation AND instead of ORSilverstripe 过滤器关系 AND 而不是 OR
【发布时间】:2018-10-19 13:54:39
【问题描述】:

我有一个使用 SilverStripe 3.5.6 的自定义搜索,它将所有关键字分解为一个数组,并且只返回包含所有单词的结果,而不是包含其中一个单词的结果。

这只是脚本的一小部分,但这就是我使用过滤器功能的方式。

foreach($keywords as $keyword) {
    $search_terms_title['Title:PartialMatch'][] = $keyword;
}

Page::get()->filter($search_terms_title)

【问题讨论】:

    标签: php mysql silverstripe


    【解决方案1】:

    您可以构建每个过滤器,添加许多AND Title LIKE '%keyword%' where 子句,如下所示:

    $pages = Page::get()
    foreach($keywords as $keyword) {
        $pages = $pages->filter('Title:PartialMatch', $keyword);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-21
      • 2018-04-22
      • 1970-01-01
      • 2020-06-28
      • 2010-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多