Отношение фильтра Silverstripe И вместо ИЛИ

У меня есть пользовательский поиск с SilverStripe 3.5.6, который включает в себя массив всех ключевых слов и возвращает только результаты, содержащие все слова, а не те, которые содержат одно из слов.

Это всего лишь небольшой фрагмент скрипта, но именно так я использую функцию фильтра.

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

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

person John Doe    schedule 19.10.2018    source источник


Ответы (1)


Вы можете создать каждый фильтр, добавив много предложений AND Title LIKE '%keyword%' where следующим образом:

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