Връзка на филтър 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