class SearchCriterion implements SearchCriteriaInterface (View source)

Class SearchCriterion

Traits

A class that can be instantiated or replaced via DI

Constants

EQUAL

field:value

NOT_EQUAL

-field:value

GREATER_EQUAL

field:[value TO *]

GREATER_THAN

field:{value TO *}

LESS_EQUAL

field:[* TO value]

LESS_THAN

field:{* TO value}

IN

(field:value1 field:value2 field:value3)

NOT_IN

-(field:value1 field:value2 field:value3)

ISNULL

field:[ TO ]

ISNOTNULL

-field:[ TO ]

CUSTOM

A custom Criterion with it's own SearchQueryWriter

Properties

protected string $comparison
protected string $target

The table and field that this Criterion is applied to.

protected mixed $value
protected SearchAdapterInterface $adapter
protected AbstractSearchQueryWriter $searchQueryWriter

Methods

public static 
create(mixed ...$args)

An implementation of the factory method, allows you to create an instance of a class

public static 
singleton(string $class = null)

Creates a class instance by the "singleton" design pattern.

public
__construct(string $target, string|array $value, string|null $comparison = null, AbstractSearchQueryWriter $searchQueryWriter = null)

No description

public
getAdapter()

No description

public
$this
setAdapter(SearchAdapterInterface $adapter)

No description

public
void
appendPreparedStatementTo($ps)

No description

public
string
getQuoteValue(string $value)

String values should be passed into our filter string with quotation marks and escaping.

public
$this
setSearchQueryWriter(AbstractSearchQueryWriter $searchQueryWriter)

No description

public
string
getComparison()

No description

protected
$this
setComparison(string|null $comparison)

No description

public
string
getTarget()

No description

protected
$this
setTarget(string $target)

No description

public
string|array
getValue()

No description

protected
$this
setValue(string|array $value)

No description

Details

static Injectable create(mixed ...$args)

An implementation of the factory method, allows you to create an instance of a class

This method will defer class substitution to the Injector API, which can be customised via the Config API to declare substitution classes.

This can be called in one of two ways - either calling via the class directly, or calling on Object and passing the class name as the first parameter. The following are equivalent: $list = DataList::create(SiteTree::class); $list = SiteTree::get();

Parameters

mixed ...$args

Return Value

Injectable

static Injectable singleton(string $class = null)

Creates a class instance by the "singleton" design pattern.

It will always return the same instance for this class, which can be used for performance reasons and as a simple way to access instance methods which don't rely on instance data (e.g. the custom SilverStripe static handling).

Parameters

string $class

Optional classname to create, if the called class should not be used

Return Value

Injectable

The singleton instance

__construct(string $target, string|array $value, string|null $comparison = null, AbstractSearchQueryWriter $searchQueryWriter = null)

No description

Parameters

string $target
string|array $value
string|null $comparison
AbstractSearchQueryWriter $searchQueryWriter

SearchAdapterInterface getAdapter()

No description

Return Value

SearchAdapterInterface

$this setAdapter(SearchAdapterInterface $adapter)

No description

Parameters

SearchAdapterInterface $adapter

Return Value

$this

void appendPreparedStatementTo($ps)

No description

Parameters

$ps

Return Value

void

Exceptions

Exception

string getQuoteValue(string $value)

String values should be passed into our filter string with quotation marks and escaping.

Parameters

string $value

Return Value

string

AbstractSearchQueryWriter getSearchQueryWriter()

No description

$this setSearchQueryWriter(AbstractSearchQueryWriter $searchQueryWriter)

No description

Parameters

AbstractSearchQueryWriter $searchQueryWriter

Return Value

$this

string getComparison()

No description

Return Value

string

protected $this setComparison(string|null $comparison)

No description

Parameters

string|null $comparison

Return Value

$this

string getTarget()

No description

Return Value

string

protected $this setTarget(string $target)

No description

Parameters

string $target

Return Value

$this

string|array getValue()

No description

Return Value

string|array

protected $this setValue(string|array $value)

No description

Parameters

string|array $value

Return Value

$this