2013-05-03 2 views
2

Один маленький вопрос:SilverStripe SQL отладка

Как я могу использовать «OR» метод фильтра: например

$entries = BookstoreBook::get() 
    ->filter(array(
    'Title:PartialMatch' => $searchString 
    ));) 

поля: PartialMatch пути я нашел, чтобы использовать LIKE для сравнения строк.

+0

у вас есть пример запроса? Возможно, вы сможете решить его, используя массив с значением поля ... – colymba

ответ

2

насчет:

$entries = BookstoreBook::get() 
    ->filter(array(
    'Title:PartialMatch' => array($searchString, $anotherString) 
)); 
0

Вы можете использовать FilterAny для OR:

$objects = $Object::get()->filterAny(array("Title"=>"Something","ID"=>"SomethingElse")); 

Вы бы также использовать, где, если вы должны были:

$objects = $Object::get()->where("Title='Something' OR ID='SomethingElse'"); 

Отношения вызова также включает a где в первом параметре:

$objects = $Object::get("Title='Something' OR ID='SomethingElse'"); 

Любой, наконец, вы можете сделать фильтр + а где, если вам нужно, в какой-то загадочный «Я не думаю, что вы будете когда-нибудь» ситуация:

$objects = $Object::get()->filter(array())->where(); 

;)

Смежные вопросы