Silverstripe sql debug

问题描述 投票:2回答:2

如何使用OR和过滤方法,例如:

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

Field:PartialMatch是我发现使用LIKE进行字符串匹配的方式。

where sql-like silverstripe datamodel
2个回答
2
投票

关于什么:

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

0
投票

您可以将FilterAny用于OR:

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

如果您有以下情况,您还可以使用where:

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

关系调用还包括第一个参数中的where:

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

最后,你可以做一个过滤器+一个地方,如果你需要的话,在一些奇怪的“我认为你永远找不到”的情况:

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

;)

© www.soinside.com 2019 - 2024. All rights reserved.