Comparative functions.
Because SQLite doesn't have the ANY
/ALL
comparison operators, subqueries are instead nested and correlated using EXISTS
or NOT EXISTS
, which requires the first column of the subquery to have a name or alias so it's referable.
Public Methods | |
Predicate | is ($arg) |
Null-safe type-strict equality. More... | |
Predicate | isBetween ($min, $max) |
$this BETWEEN $min AND $max (inclusive) More... | |
Predicate | isEqual ($arg) |
See Predicate::match(). More... | |
Predicate | isFalse () |
$this IS FALSE More... | |
Predicate | isGt ($arg) |
$this > $arg , or driver-appropriate $this > ALL (SELECT ...) More... | |
Predicate | isGtAny (Select $select) |
Driver-appropriate $this > ANY (SELECT ...) More... | |
Predicate | isGte ($arg) |
$this >= $arg , or driver-appropriate $this >= ALL (SELECT ...) More... | |
Predicate | isGteAny (Select $select) |
Driver-appropriate $this >= ANY (SELECT ...) More... | |
Predicate | isLike (string $pattern) |
$this LIKE $pattern More... | |
Predicate | isLt ($arg) |
$this < $arg , or driver-appropriate $this < ALL (SELECT ...) More... | |
Predicate | isLtAny (Select $select) |
Driver-appropriate $this < ANY (SELECT ...) More... | |
Predicate | isLte ($arg) |
$this <= $arg , or driver-appropriate $this <= ALL (SELECT ...) More... | |
Predicate | isLteAny (Select $select) |
Driver-appropriate $this <= ANY (SELECT ...) More... | |
Predicate | isNot ($arg) |
Null-safe type-strict inequality. More... | |
Predicate | isNotBetween ($min, $max) |
$this NOT BETWEEN $min AND $max (inclusive) More... | |
Predicate | isNotEqual ($arg) |
$this <> $arg or $this NOT IN ($arg) More... | |
Predicate | isNotLike (string $pattern) |
$this NOT LIKE $pattern More... | |
Predicate | isNotNull () |
$this IS NOT NULL More... | |
Predicate | isNotRegExp (string $pattern) |
$this NOT REGEXP $pattern More... | |
Predicate | isNull () |
$this IS NULL More... | |
Predicate | isRegExp (string $pattern) |
$this REGEXP $pattern More... | |
Branch | switch (array $values=[]) |
CASE $this ... More... | |
Predicate is | ( | $arg | ) |
Null-safe type-strict equality.
$this <=> $arg
, or $this <=> ANY ($arg)
$this IS $arg
, or EXISTS (... WHERE $this IS $arg[0])
null | scalar | EntityInterface | Select | ValueInterface | $arg |
Predicate isBetween | ( | $min, | |
$max | |||
) |
Predicate isEqual | ( | $arg | ) |
See Predicate::match().
null | scalar | array | Closure | EntityInterface | Select | ValueInterface | $arg |
Predicate isGt | ( | $arg | ) |
Predicate isGte | ( | $arg | ) |
Predicate isLt | ( | $arg | ) |
Predicate isLte | ( | $arg | ) |
Predicate isNot | ( | $arg | ) |
Null-safe type-strict inequality.
null | scalar | EntityInterface | Select | ValueInterface | $arg |
Predicate isNotBetween | ( | $min, | |
$max | |||
) |
Predicate isNotEqual | ( | $arg | ) |
$this <> $arg
or $this NOT IN ($arg)
null | scalar | array | EntityInterface | Select | ValueInterface | $arg |
Predicate isNotLike | ( | string | $pattern | ) |
Predicate isNotRegExp | ( | string | $pattern | ) |
Predicate isRegExp | ( | string | $pattern | ) |
Branch switch | ( | array | $values = [] | ) |
CASE $this ...
END
If $values
are given, the keys are quoted as literal values.
Omit
$values
and use Branch::when() if you need expressions for theWHEN
clause.
array | $values | [when => then] |