Aplus Framework Database Library

Update extends Statement
in package
Uses Join, Set, Where, OrderBy

Class Update.

Tags
see
https://mariadb.com/kb/en/update/

Table of Contents

OPT_IGNORE  = 'IGNORE'
Convert errors to warnings, which will not stop inserts of additional rows.
OPT_LOW_PRIORITY  = 'LOW_PRIORITY'
$database  : Database
$sql  : array<string|int, mixed>
SQL clauses and parts.
__construct()  : mixed
Statement constructor.
__toString()  : string
crossJoin()  : static
Adds a JOIN clause with "CROSS JOIN $table".
crossJoinOn()  : static
Adds a JOIN clause with "CROSS JOIN $table ON $conditional".
crossJoinUsing()  : static
Adds a JOIN clause with "CROSS JOIN $table USING ...$columns".
from()  : static
Sets the FROM clause.
innerJoinOn()  : static
Adds a JOIN clause with "INNER JOIN $table ON $conditional".
innerJoinUsing()  : static
Adds a JOIN clause with "INNER JOIN $table USING ...$columns".
join()  : static
Adds a JOIN clause with "$type JOIN $table $clause $conditional".
joinOn()  : static
Adds a JOIN clause with "JOIN $table ON $conditional".
joinUsing()  : static
Adds a JOIN clause with "JOIN $table USING ...$columns".
leftJoinOn()  : static
Adds a JOIN clause with "LEFT JOIN $table ON $conditional".
leftJoinUsing()  : static
Adds a JOIN clause with "LEFT JOIN $table USING ...$columns".
leftOuterJoinOn()  : static
Adds a JOIN clause with "LEFT OUTER JOIN $table ON $conditional".
leftOuterJoinUsing()  : static
Adds a JOIN clause with "LEFT OUTER JOIN $table USING ...$columns".
limit()  : static
Sets the LIMIT clause.
naturalJoin()  : static
Adds a JOIN clause with "NATURAL JOIN $table".
naturalLeftJoin()  : static
Adds a JOIN clause with "NATURAL LEFT JOIN $table".
naturalLeftOuterJoin()  : static
Adds a JOIN clause with "NATURAL LEFT OUTER JOIN $table".
naturalRightJoin()  : static
Adds a JOIN clause with "NATURAL RIGHT JOIN $table".
naturalRightOuterJoin()  : static
Adds a JOIN clause with "NATURAL RIGHT OUTER JOIN $table".
options()  : static
Sets the statement options.
orderBy()  : static
Appends columns to the ORDER BY clause.
orderByAsc()  : static
Appends columns with the ASC direction to the ORDER BY clause.
orderByDesc()  : static
Appends columns with the DESC direction to the ORDER BY clause.
orWhere()  : static
Appends a "OR $column $operator ...$values" condition in the WHERE clause.
orWhereBetween()  : static
Appends a "OR $column BETWEEN $min AND $max" condition in the WHERE clause.
orWhereEqual()  : static
Appends a "OR $column = $value" condition in the WHERE clause.
orWhereGreaterThan()  : static
Appends a "OR $column > $value" condition in the WHERE clause.
orWhereGreaterThanOrEqual()  : static
Appends a "OR $column >= $value" condition in the WHERE clause.
orWhereIn()  : static
Appends a "OR $column IN (...$values)" condition in the WHERE clause.
orWhereIsNotNull()  : static
Appends a "OR $column IS NOT NULL" condition in the WHERE clause.
orWhereIsNull()  : static
Appends a "OR $column IS NULL" condition in the WHERE clause.
orWhereLessThan()  : static
Appends a "OR $column < $value" condition in the WHERE clause.
orWhereLessThanOrEqual()  : static
Appends a "OR $column <= $value" condition in the WHERE clause.
orWhereLike()  : static
Appends a "OR $column LIKE $value" condition in the WHERE clause.
orWhereMatch()  : static
Appends a "OR MATCH (...$columns) AGAINST ($against IN NATURAL LANGUAGE MODE)" fulltext searching in the WHERE clause.
orWhereMatchInBooleanMode()  : static
Appends a "OR MATCH (...$columns) AGAINST ($against IN BOOLEAN MODE)" fulltext searching in the WHERE clause.
orWhereMatchWithQueryExpansion()  : static
Appends a "OR MATCH (...$columns) AGAINST ($against WITH QUERY EXPANSION)" fulltext searching in the WHERE clause.
orWhereNotBetween()  : static
Appends a "OR $column NOT BETWEEN $min AND $max" condition in the WHERE clause.
orWhereNotEqual()  : static
Appends a "OR $column != $value" condition in the WHERE clause.
orWhereNotIn()  : static
Appends a "OR $column NOT IN (...$values)" condition in the WHERE clause.
orWhereNotLike()  : static
Appends a "OR $column NOT LIKE $value" condition in the WHERE clause.
orWhereNullSafeEqual()  : static
Appends a "OR $column <=> $value" condition in the WHERE clause.
reset()  : static
Resets SQL clauses and parts.
rightJoinOn()  : static
Adds a JOIN clause with "RIGHT JOIN $table ON $conditional".
rightJoinUsing()  : static
Adds a JOIN clause with "RIGHT JOIN $table USING ...$columns".
rightOuterJoinOn()  : static
Adds a JOIN clause with "RIGHT OUTER JOIN $table ON $conditional".
rightOuterJoinUsing()  : static
Adds a JOIN clause with "RIGHT OUTER JOIN $table USING ...$columns".
run()  : int|string
Runs the UPDATE statement.
set()  : static
Sets the SET clause.
sql()  : string
Renders the UPDATE statement.
table()  : static
Sets the table references.
where()  : static
Appends an "AND $column $operator ...$values" condition in the WHERE clause.
whereBetween()  : static
Appends an "AND $column BETWEEN $min AND $max" condition in the WHERE clause.
whereEqual()  : static
Appends an "AND $column = $value" condition in the WHERE clause.
whereGreaterThan()  : static
Appends an "AND $column > $value" condition in the WHERE clause.
whereGreaterThanOrEqual()  : static
Appends an "AND $column >= $value" condition in the WHERE clause.
whereIn()  : static
Appends an "AND $column IN (...$values)" condition in the WHERE clause.
whereIsNotNull()  : static
Appends an "AND $column IS NOT NULL" condition in the WHERE clause.
whereIsNull()  : static
Appends an "AND $column IS NULL" condition in the WHERE clause.
whereLessThan()  : static
Appends an "AND $column < $value" condition in the WHERE clause.
whereLessThanOrEqual()  : static
Appends an "AND $column <= $value" condition in the WHERE clause.
whereLike()  : static
Appends an "AND $column LIKE $value" condition in the WHERE clause.
whereMatch()  : static
Appends an "AND MATCH (...$columns) AGAINST ($against IN NATURAL LANGUAGE MODE)" fulltext searching in the WHERE clause.
whereMatchInBooleanMode()  : static
Appends an "AND MATCH (...$columns) AGAINST ($against IN BOOLEAN MODE)" fulltext searching in the WHERE clause.
whereMatchWithQueryExpansion()  : static
Appends an "AND MATCH (...$columns) AGAINST ($against WITH QUERY EXPANSION)" fulltext searching in the WHERE clause.
whereNotBetween()  : static
Appends an "AND $column NOT BETWEEN $min AND $max" condition in the WHERE clause.
whereNotEqual()  : static
Appends an "AND $column != $value" condition in the WHERE clause.
whereNotIn()  : static
Appends an "AND $column NOT IN (...$values)" condition in the WHERE clause.
whereNotLike()  : static
Appends an "AND $column NOT LIKE $value" condition.
whereNullSafeEqual()  : static
Appends an "AND $column <=> $value" condition in the WHERE clause.
hasFrom()  : bool
Tells if the FROM clause was set.
hasOptions()  : bool
Tells if the statement has options set.
hasSet()  : bool
Tells if the SET clause was set.
renderAliasedIdentifier()  : string
Renders a column part with an optional alias name, AS clause.
renderAssignment()  : string
Renders an assignment part.
renderFrom()  : string|null
Renders the FROM clause.
renderIdentifier()  : string
Renders a column part.
renderJoin()  : string|null
Renders the JOIN clause.
renderLimit()  : string|null
Renders the LIMIT clause.
renderOptions()  : string|null
renderOrderBy()  : string|null
Renders the ORDER BY clause.
renderSet()  : string|null
Renders the SET clause.
renderSetCheckingConflicts()  : string|null
Renders the SET clause checking conflicts.
renderSetPart()  : string
renderTable()  : string
renderValue()  : float|int|string
Renders a subquery or quote a value.
renderWhere()  : string|null
Renders the full WHERE (or HAVING) clause.
setLimit()  : static
Sets the LIMIT clause.
subquery()  : string
Returns an SQL part between parentheses.
addOrderBy()  : static
Adds a ORDER BY expression.
addWhere()  : static
Adds a WHERE (or HAVING) part.
checkNaturalJoinType()  : bool
Check if a JOIN type belongs to the NATURAL group.
prepareWhereValues()  : array<string|int, float|int|string>
Quote the input values or transform it in subqueries.
renderJoinConditional()  : string
Renders the JOIN conditional part.
renderJoinConditionClause()  : string|null
Validates and renders the JOIN condition clause.
renderJoinConditionExpression()  : string|null
Renders the JOIN condition expression.
renderJoinType()  : string
Validates and renders the JOIN type.
renderMatch()  : string
Renders a MATCH AGAINST clause.
renderMatchColumns()  : string
renderMatchExpression()  : float|int|string
renderWhereOperator()  : string
Renders and validates a comparison operator.
renderWherePart()  : string
Renders a WHERE part. Like: `AND column IN('value1', 'value2')`.
renderWhereValues()  : string|null
Renders the values used by a comparison operator.
renderWhereValuesPartBetween()  : string
Renders values for `BETWEEN` or `NOT BETWEEN`.
renderWhereValuesPartComparator()  : string
Renders the values of operators that receive exactly one value.
renderWhereValuesPartIn()  : string
Implode values for `IN` or `NOT IN`.
renderWhereValuesPartIsNull()  : null
Renders the lonely operators, `IS NULL` or `IS NOT NULL`.
setJoin()  : static
Sets the JOIN clause.

Constants

Properties

$sql

SQL clauses and parts.

protected array<string|int, mixed> $sql = []

Methods

__construct()

Statement constructor.

public __construct(Database $database) : mixed
Parameters
$database : Database
Return values
mixed —

__toString()

public __toString() : string
Return values
string —

crossJoin()

Adds a JOIN clause with "CROSS JOIN $table".

public crossJoin(array<string, \Closure|string>|Closure|string $table) : static
Parameters
$table : array<string, \Closure|string>|Closure|string

Table factor

Return values
static —

crossJoinOn()

Adds a JOIN clause with "CROSS JOIN $table ON $conditional".

public crossJoinOn(array<string, \Closure|string>|Closure|string $table, Closure $conditional) : static
Parameters
$table : array<string, \Closure|string>|Closure|string

Table factor

$conditional : Closure

Conditional expression

Return values
static —

crossJoinUsing()

Adds a JOIN clause with "CROSS JOIN $table USING ...$columns".

public crossJoinUsing(array<string, \Closure|string>|Closure|string $table, Closure|string ...$columns) : static
Parameters
$table : array<string, \Closure|string>|Closure|string

Table factor

$columns : Closure|string

Columns list

Return values
static —

from()

Sets the FROM clause.

public from(array<string, \Closure|string>|Closure|string $reference, array<string, \Closure|string>|Closure|string ...$references) : static
Parameters
$reference : array<string, \Closure|string>|Closure|string

Table reference

$references : array<string, \Closure|string>|Closure|string

Table references

Tags
see
https://mariadb.com/kb/en/join-syntax/
Return values
static —

innerJoinOn()

Adds a JOIN clause with "INNER JOIN $table ON $conditional".

public innerJoinOn(array<string, \Closure|string>|Closure|string $table, Closure $conditional) : static
Parameters
$table : array<string, \Closure|string>|Closure|string

Table factor

$conditional : Closure

Conditional expression

Return values
static —

innerJoinUsing()

Adds a JOIN clause with "INNER JOIN $table USING ...$columns".

public innerJoinUsing(array<string, \Closure|string>|Closure|string $table, Closure|string ...$columns) : static
Parameters
$table : array<string, \Closure|string>|Closure|string

Table factor

$columns : Closure|string

Columns list

Return values
static —

join()

Adds a JOIN clause with "$type JOIN $table $clause $conditional".

public join(array<string, \Closure|string>|Closure|string $table[, string $type = '' ][, string|null $clause = null ][, array<int, \Closure|string>|Closure|null $conditional = null ]) : static
Parameters
$table : array<string, \Closure|string>|Closure|string

Table factor

$type : string = ''

JOIN type. One of: CROSS, INNER, LEFT, LEFT OUTER, RIGHT, RIGHT OUTER, NATURAL, NATURAL LEFT, NATURAL LEFT OUTER, NATURAL RIGHT, NATURAL RIGHT OUTER or empty (same as INNER)

$clause : string|null = null

Condition clause. Null if it has a NATURAL type, otherwise ON or USING

$conditional : array<int, \Closure|string>|Closure|null = null

A conditional expression as Closure or the columns list as array

Return values
static —

joinOn()

Adds a JOIN clause with "JOIN $table ON $conditional".

public joinOn(array<string, \Closure|string>|Closure|string $table, Closure $conditional) : static
Parameters
$table : array<string, \Closure|string>|Closure|string

Table factor

$conditional : Closure

Conditional expression

Return values
static —

joinUsing()

Adds a JOIN clause with "JOIN $table USING ...$columns".

public joinUsing(array<string, \Closure|string>|Closure|string $table, Closure|string ...$columns) : static
Parameters
$table : array<string, \Closure|string>|Closure|string

Table factor

$columns : Closure|string

Columns list

Return values
static —

leftJoinOn()

Adds a JOIN clause with "LEFT JOIN $table ON $conditional".

public leftJoinOn(array<string, \Closure|string>|Closure|string $table, Closure $conditional) : static
Parameters
$table : array<string, \Closure|string>|Closure|string

Table factor

$conditional : Closure

Conditional expression

Return values
static —

leftJoinUsing()

Adds a JOIN clause with "LEFT JOIN $table USING ...$columns".

public leftJoinUsing(array<string, \Closure|string>|Closure|string $table, Closure|string ...$columns) : static
Parameters
$table : array<string, \Closure|string>|Closure|string

Table factor

$columns : Closure|string

Columns list

Return values
static —

leftOuterJoinOn()

Adds a JOIN clause with "LEFT OUTER JOIN $table ON $conditional".

public leftOuterJoinOn(array<string, \Closure|string>|Closure|string $table, Closure $conditional) : static
Parameters
$table : array<string, \Closure|string>|Closure|string

Table factor

$conditional : Closure

Conditional expression

Return values
static —

leftOuterJoinUsing()

Adds a JOIN clause with "LEFT OUTER JOIN $table USING ...$columns".

public leftOuterJoinUsing(array<string, \Closure|string>|Closure|string $table, Closure|string ...$columns) : static
Parameters
$table : array<string, \Closure|string>|Closure|string

Table factor

$columns : Closure|string

Columns list

Return values
static —

naturalJoin()

Adds a JOIN clause with "NATURAL JOIN $table".

public naturalJoin(array<string, \Closure|string>|Closure|string $table) : static
Parameters
$table : array<string, \Closure|string>|Closure|string

Table factor

Return values
static —

naturalLeftJoin()

Adds a JOIN clause with "NATURAL LEFT JOIN $table".

public naturalLeftJoin(array<string, \Closure|string>|Closure|string $table) : static
Parameters
$table : array<string, \Closure|string>|Closure|string

Table factor

Return values
static —

naturalLeftOuterJoin()

Adds a JOIN clause with "NATURAL LEFT OUTER JOIN $table".

public naturalLeftOuterJoin(array<string, \Closure|string>|Closure|string $table) : static
Parameters
$table : array<string, \Closure|string>|Closure|string

Table factor

Return values
static —

naturalRightJoin()

Adds a JOIN clause with "NATURAL RIGHT JOIN $table".

public naturalRightJoin(array<string, \Closure|string>|Closure|string $table) : static
Parameters
$table : array<string, \Closure|string>|Closure|string

Table factor

Return values
static —

naturalRightOuterJoin()

Adds a JOIN clause with "NATURAL RIGHT OUTER JOIN $table".

public naturalRightOuterJoin(array<string, \Closure|string>|Closure|string $table) : static
Parameters
$table : array<string, \Closure|string>|Closure|string

Table factor

Return values
static —

options()

Sets the statement options.

public options(string $option, string ...$options) : static
Parameters
$option : string

One of the OPT_* constants

$options : string

Each option value must be one of the OPT_* constants

Return values
static —

orderBy()

Appends columns to the ORDER BY clause.

public orderBy(Closure|string $column, Closure|string ...$columns) : static
Parameters
$column : Closure|string

The column name or a subquery

$columns : Closure|string

Extra column names and/or subqueries

Return values
static —

orderByAsc()

Appends columns with the ASC direction to the ORDER BY clause.

public orderByAsc(Closure|string $column, Closure|string ...$columns) : static
Parameters
$column : Closure|string

The column name or a subquery

$columns : Closure|string

Extra column names and/or subqueries

Return values
static —

orderByDesc()

Appends columns with the DESC direction to the ORDER BY clause.

public orderByDesc(Closure|string $column, Closure|string ...$columns) : static
Parameters
$column : Closure|string

The column name or a subquery

$columns : Closure|string

Extra column names and/or subqueries

Return values
static —

orWhere()

Appends a "OR $column $operator ...$values" condition in the WHERE clause.

public orWhere(array<string|int, array|\Closure|string>|Closure|string $column, string $operator, array<string|int, array|\Closure|float|int|string|null>|Closure|float|int|string|null ...$values) : static
Parameters
$column : array<string|int, array|\Closure|string>|Closure|string

Closure for a subquery, a string with the column name or an array with column names on WHERE MATCH clause

$operator : string
$values : array<string|int, array|\Closure|float|int|string|null>|Closure|float|int|string|null
Return values
static —

orWhereBetween()

Appends a "OR $column BETWEEN $min AND $max" condition in the WHERE clause.

public orWhereBetween(Closure|string $column, Closure|float|int|string|null $min, Closure|float|int|string|null $max) : static
Parameters
$column : Closure|string

Closure for a subquery or a string with the column name

$min : Closure|float|int|string|null
$max : Closure|float|int|string|null
Tags
see
https://mariadb.com/kb/en/between-and/
Return values
static —

orWhereEqual()

Appends a "OR $column = $value" condition in the WHERE clause.

public orWhereEqual(Closure|string $column, Closure|float|int|string|null $value) : static
Parameters
$column : Closure|string

Closure for a subquery or a string with the column name

$value : Closure|float|int|string|null
Tags
see
https://mariadb.com/kb/en/equal/
Return values
static —

orWhereGreaterThan()

Appends a "OR $column > $value" condition in the WHERE clause.

public orWhereGreaterThan(Closure|string $column, Closure|float|int|string|null $value) : static
Parameters
$column : Closure|string

Closure for a subquery or a string with the column name

$value : Closure|float|int|string|null
Tags
see
https://mariadb.com/kb/en/greater-than/
Return values
static —

orWhereGreaterThanOrEqual()

Appends a "OR $column >= $value" condition in the WHERE clause.

public orWhereGreaterThanOrEqual(Closure|string $column, Closure|float|int|string|null $value) : static
Parameters
$column : Closure|string

Closure for a subquery or a string with the column name

$value : Closure|float|int|string|null
Tags
see
https://mariadb.com/kb/en/greater-than-or-equal/
Return values
static —

orWhereIn()

Appends a "OR $column IN (...$values)" condition in the WHERE clause.

public orWhereIn(Closure|string $column, Closure|float|int|string|null $value, Closure|float|int|string|null ...$values) : static
Parameters
$column : Closure|string

Closure for a subquery or a string with the column name

$value : Closure|float|int|string|null
$values : Closure|float|int|string|null
Tags
see
https://mariadb.com/kb/en/in/
Return values
static —

orWhereIsNotNull()

Appends a "OR $column IS NOT NULL" condition in the WHERE clause.

public orWhereIsNotNull(Closure|string $column) : static
Parameters
$column : Closure|string

Closure for a subquery or a string with the column name

Tags
see
https://mariadb.com/kb/en/is-not-null/
Return values
static —

orWhereIsNull()

Appends a "OR $column IS NULL" condition in the WHERE clause.

public orWhereIsNull(Closure|string $column) : static
Parameters
$column : Closure|string

Closure for a subquery or a string with the column name

Tags
see
https://mariadb.com/kb/en/is-null/
Return values
static —

orWhereLessThan()

Appends a "OR $column < $value" condition in the WHERE clause.

public orWhereLessThan(Closure|string $column, Closure|float|int|string|null $value) : static
Parameters
$column : Closure|string

Closure for a subquery or a string with the column name

$value : Closure|float|int|string|null
Tags
see
https://mariadb.com/kb/en/less-than/
Return values
static —

orWhereLessThanOrEqual()

Appends a "OR $column <= $value" condition in the WHERE clause.

public orWhereLessThanOrEqual(Closure|string $column, Closure|float|int|string|null $value) : static
Parameters
$column : Closure|string

Closure for a subquery or a string with the column name

$value : Closure|float|int|string|null
Tags
see
https://mariadb.com/kb/en/less-than-or-equal/
Return values
static —

orWhereLike()

Appends a "OR $column LIKE $value" condition in the WHERE clause.

public orWhereLike(Closure|string $column, Closure|float|int|string|null $value) : static
Parameters
$column : Closure|string

Closure for a subquery or a string with the column name

$value : Closure|float|int|string|null
Tags
see
https://mariadb.com/kb/en/like/
Return values
static —

orWhereMatch()

Appends a "OR MATCH (...$columns) AGAINST ($against IN NATURAL LANGUAGE MODE)" fulltext searching in the WHERE clause.

public orWhereMatch(array<string|int, array|\Closure|string>|Closure|string $columns, array<string|int, array|\Closure|string>|Closure|string $against) : static
Parameters
$columns : array<string|int, array|\Closure|string>|Closure|string

Columns to MATCH

$against : array<string|int, array|\Closure|string>|Closure|string

AGAINST expression

Tags
see
https://mariadb.com/kb/en/full-text-index-overview/
see
https://mariadb.com/kb/en/match-against/
Return values
static —

orWhereMatchInBooleanMode()

Appends a "OR MATCH (...$columns) AGAINST ($against IN BOOLEAN MODE)" fulltext searching in the WHERE clause.

public orWhereMatchInBooleanMode(array<string|int, array|\Closure|string>|Closure|string $columns, array<string|int, array|\Closure|string>|Closure|string $against) : static
Parameters
$columns : array<string|int, array|\Closure|string>|Closure|string

Columns to MATCH

$against : array<string|int, array|\Closure|string>|Closure|string

AGAINST expression

Tags
see
https://mariadb.com/kb/en/full-text-index-overview/
see
https://mariadb.com/kb/en/match-against/
Return values
static —

orWhereMatchWithQueryExpansion()

Appends a "OR MATCH (...$columns) AGAINST ($against WITH QUERY EXPANSION)" fulltext searching in the WHERE clause.

public orWhereMatchWithQueryExpansion(array<string|int, array|\Closure|string>|Closure|string $columns, array<string|int, array|\Closure|string>|Closure|string $against) : static
Parameters
$columns : array<string|int, array|\Closure|string>|Closure|string

Columns to MATCH

$against : array<string|int, array|\Closure|string>|Closure|string

AGAINST expression

Tags
see
https://mariadb.com/kb/en/full-text-index-overview/
see
https://mariadb.com/kb/en/match-against/
Return values
static —

orWhereNotBetween()

Appends a "OR $column NOT BETWEEN $min AND $max" condition in the WHERE clause.

public orWhereNotBetween(Closure|string $column, Closure|float|int|string|null $min, Closure|float|int|string|null $max) : static
Parameters
$column : Closure|string

Closure for a subquery or a string with the column name

$min : Closure|float|int|string|null
$max : Closure|float|int|string|null
Tags
see
https://mariadb.com/kb/en/not-between/
Return values
static —

orWhereNotEqual()

Appends a "OR $column != $value" condition in the WHERE clause.

public orWhereNotEqual(Closure|string $column, Closure|float|int|string|null $value) : static
Parameters
$column : Closure|string

Closure for a subquery or a string with the column name

$value : Closure|float|int|string|null
Tags
see
https://mariadb.com/kb/en/not-equal/
Return values
static —

orWhereNotIn()

Appends a "OR $column NOT IN (...$values)" condition in the WHERE clause.

public orWhereNotIn(Closure|string $column, Closure|float|int|string|null $value, Closure|float|int|string|null ...$values) : static
Parameters
$column : Closure|string

Closure for a subquery or a string with the column name

$value : Closure|float|int|string|null
$values : Closure|float|int|string|null
Tags
see
https://mariadb.com/kb/en/not-in/
Return values
static —

orWhereNotLike()

Appends a "OR $column NOT LIKE $value" condition in the WHERE clause.

public orWhereNotLike(Closure|string $column, Closure|float|int|string|null $value) : static
Parameters
$column : Closure|string

Closure for a subquery or a string with the column name

$value : Closure|float|int|string|null
Tags
see
https://mariadb.com/kb/en/not-like/
Return values
static —

orWhereNullSafeEqual()

Appends a "OR $column <=> $value" condition in the WHERE clause.

public orWhereNullSafeEqual(Closure|string $column, Closure|float|int|string|null $value) : static
Parameters
$column : Closure|string

Closure for a subquery or a string with the column name

$value : Closure|float|int|string|null
Tags
see
https://mariadb.com/kb/en/null-safe-equal/
Return values
static —

reset()

Resets SQL clauses and parts.

public reset([string|null $sql = null ]) : static
Parameters
$sql : string|null = null

A part name or null to reset all

Tags
see
Statement::$sql
Return values
static —

rightJoinOn()

Adds a JOIN clause with "RIGHT JOIN $table ON $conditional".

public rightJoinOn(array<string, \Closure|string>|Closure|string $table, Closure $conditional) : static
Parameters
$table : array<string, \Closure|string>|Closure|string

Table factor

$conditional : Closure

Conditional expression

Return values
static —

rightJoinUsing()

Adds a JOIN clause with "RIGHT JOIN $table USING ...$columns".

public rightJoinUsing(array<string, \Closure|string>|Closure|string $table, Closure|string ...$columns) : static
Parameters
$table : array<string, \Closure|string>|Closure|string

Table factor

$columns : Closure|string

Columns list

Return values
static —

rightOuterJoinOn()

Adds a JOIN clause with "RIGHT OUTER JOIN $table ON $conditional".

public rightOuterJoinOn(array<string, \Closure|string>|Closure|string $table, Closure $conditional) : static
Parameters
$table : array<string, \Closure|string>|Closure|string

Table factor

$conditional : Closure

Conditional expression

Return values
static —

rightOuterJoinUsing()

Adds a JOIN clause with "RIGHT OUTER JOIN $table USING ...$columns".

public rightOuterJoinUsing(array<string, \Closure|string>|Closure|string $table, Closure|string ...$columns) : static
Parameters
$table : array<string, \Closure|string>|Closure|string

Table factor

$columns : Closure|string

Columns list

Return values
static —

run()

Runs the UPDATE statement.

public run() : int|string
Return values
int|string —

The number of affected rows

set()

Sets the SET clause.

public set(array<string, \Closure|float|int|string|null>|object $columns) : static
Parameters
$columns : array<string, \Closure|float|int|string|null>|object

Array of columns => values or an object to be cast to array

Return values
static —

sql()

Renders the UPDATE statement.

public sql() : string
Return values
string —

table()

Sets the table references.

public table(array<string, \Closure|string>|Closure|string $reference, array<string, \Closure|string>|Closure|string ...$references) : static
Parameters
$reference : array<string, \Closure|string>|Closure|string
$references : array<string, \Closure|string>|Closure|string
Return values
static —

where()

Appends an "AND $column $operator ...$values" condition in the WHERE clause.

public where(array<string|int, array|\Closure|string>|Closure|string $column, string $operator, array<string|int, array|\Closure|float|int|string|null>|Closure|float|int|string|null ...$values) : static
Parameters
$column : array<string|int, array|\Closure|string>|Closure|string

Closure for a subquery, a string with the column name or an array with column names on WHERE MATCH clause

$operator : string
$values : array<string|int, array|\Closure|float|int|string|null>|Closure|float|int|string|null
Return values
static —

whereBetween()

Appends an "AND $column BETWEEN $min AND $max" condition in the WHERE clause.

public whereBetween(Closure|string $column, Closure|float|int|string|null $min, Closure|float|int|string|null $max) : static
Parameters
$column : Closure|string

Closure for a subquery or a string with the column name

$min : Closure|float|int|string|null
$max : Closure|float|int|string|null
Tags
see
https://mariadb.com/kb/en/between-and/
Return values
static —

whereEqual()

Appends an "AND $column = $value" condition in the WHERE clause.

public whereEqual(Closure|string $column, Closure|float|int|string|null $value) : static
Parameters
$column : Closure|string

Closure for a subquery or a string with the column name

$value : Closure|float|int|string|null
Tags
see
https://mariadb.com/kb/en/equal/
Return values
static —

whereGreaterThan()

Appends an "AND $column > $value" condition in the WHERE clause.

public whereGreaterThan(Closure|string $column, Closure|float|int|string|null $value) : static
Parameters
$column : Closure|string

Closure for a subquery or a string with the column name

$value : Closure|float|int|string|null
Tags
see
https://mariadb.com/kb/en/greater-than/
Return values
static —

whereGreaterThanOrEqual()

Appends an "AND $column >= $value" condition in the WHERE clause.

public whereGreaterThanOrEqual(Closure|string $column, Closure|float|int|string|null $value) : static
Parameters
$column : Closure|string

Closure for a subquery or a string with the column name

$value : Closure|float|int|string|null
Tags
see
https://mariadb.com/kb/en/greater-than-or-equal/
Return values
static —

whereIn()

Appends an "AND $column IN (...$values)" condition in the WHERE clause.

public whereIn(Closure|string $column, Closure|float|int|string|null $value, Closure|float|int|string|null ...$values) : static
Parameters
$column : Closure|string

Closure for a subquery or a string with the column name

$value : Closure|float|int|string|null
$values : Closure|float|int|string|null
Tags
see
https://mariadb.com/kb/en/in/
Return values
static —

whereIsNotNull()

Appends an "AND $column IS NOT NULL" condition in the WHERE clause.

public whereIsNotNull(Closure|string $column) : static
Parameters
$column : Closure|string

Closure for a subquery or a string with the column name

Tags
see
https://mariadb.com/kb/en/is-not-null/
Return values
static —

whereIsNull()

Appends an "AND $column IS NULL" condition in the WHERE clause.

public whereIsNull(Closure|string $column) : static
Parameters
$column : Closure|string

Closure for a subquery or a string with the column name

Tags
see
https://mariadb.com/kb/en/is-null/
Return values
static —

whereLessThan()

Appends an "AND $column < $value" condition in the WHERE clause.

public whereLessThan(Closure|string $column, Closure|float|int|string|null $value) : static
Parameters
$column : Closure|string

Closure for a subquery or a string with the column name

$value : Closure|float|int|string|null
Tags
see
https://mariadb.com/kb/en/less-than/
Return values
static —

whereLessThanOrEqual()

Appends an "AND $column <= $value" condition in the WHERE clause.

public whereLessThanOrEqual(Closure|string $column, Closure|float|int|string|null $value) : static
Parameters
$column : Closure|string

Closure for a subquery or a string with the column name

$value : Closure|float|int|string|null
Tags
see
https://mariadb.com/kb/en/less-than-or-equal/
Return values
static —

whereLike()

Appends an "AND $column LIKE $value" condition in the WHERE clause.

public whereLike(Closure|string $column, Closure|float|int|string|null $value) : static
Parameters
$column : Closure|string

Closure for a subquery or a string with the column name

$value : Closure|float|int|string|null
Tags
see
https://mariadb.com/kb/en/like/
Return values
static —

whereMatch()

Appends an "AND MATCH (...$columns) AGAINST ($against IN NATURAL LANGUAGE MODE)" fulltext searching in the WHERE clause.

public whereMatch(array<string|int, array|\Closure|string>|Closure|string $columns, array<string|int, array|\Closure|string>|Closure|string $against) : static
Parameters
$columns : array<string|int, array|\Closure|string>|Closure|string

Columns to MATCH

$against : array<string|int, array|\Closure|string>|Closure|string

AGAINST expression

Tags
see
https://mariadb.com/kb/en/full-text-index-overview/
see
https://mariadb.com/kb/en/match-against/
Return values
static —

whereMatchInBooleanMode()

Appends an "AND MATCH (...$columns) AGAINST ($against IN BOOLEAN MODE)" fulltext searching in the WHERE clause.

public whereMatchInBooleanMode(array<string|int, array|\Closure|string>|Closure|string $columns, array<string|int, array|\Closure|string>|Closure|string $against) : static
Parameters
$columns : array<string|int, array|\Closure|string>|Closure|string

Columns to MATCH

$against : array<string|int, array|\Closure|string>|Closure|string

AGAINST expression

Tags
see
https://mariadb.com/kb/en/full-text-index-overview/
see
https://mariadb.com/kb/en/match-against/
Return values
static —

whereMatchWithQueryExpansion()

Appends an "AND MATCH (...$columns) AGAINST ($against WITH QUERY EXPANSION)" fulltext searching in the WHERE clause.

public whereMatchWithQueryExpansion(array<string|int, array|\Closure|string>|Closure|string $columns, array<string|int, array|\Closure|string>|Closure|string $against) : static
Parameters
$columns : array<string|int, array|\Closure|string>|Closure|string

Columns to MATCH

$against : array<string|int, array|\Closure|string>|Closure|string

AGAINST expression

Tags
see
https://mariadb.com/kb/en/full-text-index-overview/
see
https://mariadb.com/kb/en/match-against/
Return values
static —

whereNotBetween()

Appends an "AND $column NOT BETWEEN $min AND $max" condition in the WHERE clause.

public whereNotBetween(Closure|string $column, Closure|float|int|string|null $min, Closure|float|int|string|null $max) : static
Parameters
$column : Closure|string

Closure for a subquery or a string with the column name

$min : Closure|float|int|string|null
$max : Closure|float|int|string|null
Tags
see
https://mariadb.com/kb/en/not-between/
Return values
static —

whereNotEqual()

Appends an "AND $column != $value" condition in the WHERE clause.

public whereNotEqual(Closure|string $column, Closure|float|int|string|null $value) : static
Parameters
$column : Closure|string

Closure for a subquery or a string with the column name

$value : Closure|float|int|string|null
Tags
see
https://mariadb.com/kb/en/not-equal/
Return values
static —

whereNotIn()

Appends an "AND $column NOT IN (...$values)" condition in the WHERE clause.

public whereNotIn(Closure|string $column, Closure|float|int|string|null $value, Closure|float|int|string|null ...$values) : static
Parameters
$column : Closure|string

Closure for a subquery or a string with the column name

$value : Closure|float|int|string|null
$values : Closure|float|int|string|null
Tags
see
https://mariadb.com/kb/en/not-in/
Return values
static —

whereNotLike()

Appends an "AND $column NOT LIKE $value" condition.

public whereNotLike(Closure|string $column, Closure|float|int|string|null $value) : static
Parameters
$column : Closure|string

Closure for a subquery or a string with the column name

$value : Closure|float|int|string|null
Tags
see
https://mariadb.com/kb/en/not-like/
Return values
static —

whereNullSafeEqual()

Appends an "AND $column <=> $value" condition in the WHERE clause.

public whereNullSafeEqual(Closure|string $column, Closure|float|int|string|null $value) : static
Parameters
$column : Closure|string

Closure for a subquery or a string with the column name

$value : Closure|float|int|string|null
Tags
see
https://mariadb.com/kb/en/null-safe-equal/
Return values
static —

hasFrom()

Tells if the FROM clause was set.

protected hasFrom([string|null $clause = null ]) : bool
Parameters
$clause : string|null = null

A clause where FROM is required

Tags
throws
LogicException

if FROM is not set, but is required for some other clause

Return values
bool —

True if it has FROM, otherwise false

hasOptions()

Tells if the statement has options set.

protected hasOptions() : bool
Return values
bool —

hasSet()

Tells if the SET clause was set.

protected hasSet() : bool
Return values
bool —

True if was set, otherwise false

renderAliasedIdentifier()

Renders a column part with an optional alias name, AS clause.

protected renderAliasedIdentifier(array<string, \Closure|string>|Closure|string $column) : string
Parameters
$column : array<string, \Closure|string>|Closure|string

The column name, a subquery or an array where the index is the alias and the value is the column/subquery

Return values
string —

renderFrom()

Renders the FROM clause.

protected renderFrom() : string|null
Return values
string|null —

The FROM clause or null if it was not set

renderIdentifier()

Renders a column part.

protected renderIdentifier(Closure|string $column) : string
Parameters
$column : Closure|string

The column name or a subquery

Return values
string —

renderJoin()

Renders the JOIN clause.

protected renderJoin() : string|null
Return values
string|null —

The JOIN clause or null if it was not set

renderLimit()

Renders the LIMIT clause.

protected renderLimit() : string|null
Return values
string|null —

renderOptions()

protected renderOptions() : string|null
Return values
string|null —

renderOrderBy()

Renders the ORDER BY clause.

protected renderOrderBy() : string|null
Return values
string|null —

The ORDER BY clause or null if it was not set

renderSet()

Renders the SET clause.

protected renderSet() : string|null
Return values
string|null —

The SET clause null if it was not set

renderSetCheckingConflicts()

Renders the SET clause checking conflicts.

protected renderSetCheckingConflicts() : string|null
Tags
throws
LogicException

if SET was set with columns or with the VALUES clause

Return values
string|null —

The SET part or null if it was not set

renderSetPart()

protected renderSetPart() : string
Return values
string —

renderTable()

protected renderTable() : string
Return values
string —

renderValue()

Renders a subquery or quote a value.

protected renderValue(Closure|float|int|string|null $value) : float|int|string
Parameters
$value : Closure|float|int|string|null

A Closure for subquery, other types to quote

Return values
float|int|string —

renderWhere()

Renders the full WHERE (or HAVING) clause.

protected renderWhere([string $clause = 'where' ]) : string|null
Parameters
$clause : string = 'where'

where or having

Return values
string|null —

The full clause or null if has not a clause

setLimit()

Sets the LIMIT clause.

protected setLimit(int $limit[, int|null $offset = null ]) : static
Parameters
$limit : int
$offset : int|null = null
Tags
see
https://mariadb.com/kb/en/limit/
Return values
static —

addOrderBy()

Adds a ORDER BY expression.

private addOrderBy(Closure|string $column, array<string|int, \Closure|string> $columns, string|null $direction) : static
Parameters
$column : Closure|string

The column name or a subquery

$columns : array<string|int, \Closure|string>

Extra column names and/or subqueries

$direction : string|null

ASC, DESC or null for none

Return values
static —

addWhere()

Adds a WHERE (or HAVING) part.

private addWhere(string $glue, array<string|int, array|\Closure|string>|Closure|string $column, string $operator, array<string|int, \Closure|float|int|string|null> $values[, string $clause = 'where' ]) : static
Parameters
$glue : string

AND or OR

$column : array<string|int, array|\Closure|string>|Closure|string
$operator : string

=, <=>, !=, <>, >, >=, <, <=, LIKE, NOT LIKE, IN, NOT IN, BETWEEN, NOT BETWEEN, IS NULL, IS NOT NULL or MATCH

$values : array<string|int, \Closure|float|int|string|null>

Values used by the operator

$clause : string = 'where'

where or having

Return values
static —

checkNaturalJoinType()

Check if a JOIN type belongs to the NATURAL group.

private checkNaturalJoinType(string $type, string|null $clause, array<string|int, \Closure|string>|Closure|null $expression) : bool
Parameters
$type : string

NATURAL, NATURAL LEFT, NATURAL LEFT OUTER, NATURAL RIGHT, NATURAL RIGHT OUTER or any other non-natural

$clause : string|null

Must be null if type is natural

$expression : array<string|int, \Closure|string>|Closure|null

Must be null if type is natural

Tags
throws
InvalidArgumentException

if $type is natural and has clause or expression

Return values
bool —

True if the type is natural, otherwise false

prepareWhereValues()

Quote the input values or transform it in subqueries.

private prepareWhereValues(array<string|int, bool|\Closure|float|int|string|null> $values) : array<string|int, float|int|string>
Parameters
$values : array<string|int, bool|\Closure|float|int|string|null>
Return values
array<string|int, float|int|string> —

Each input value quoted or transformed in subquery

renderJoinConditional()

Renders the JOIN conditional part.

private renderJoinConditional(string $type, array<string, \Closure|string>|Closure|string $table, string|null $clause, array<string|int, \Closure|string>|Closure|null $expression) : string
Parameters
$type : string

``, CROSS,INNER, LEFT, LEFT OUTER, RIGHT, RIGHT OUTER, NATURAL, NATURAL LEFT, NATURAL LEFT OUTER, NATURAL RIGHT or NATURAL RIGHT OUTER

$table : array<string, \Closure|string>|Closure|string

The table name

$clause : string|null

ON, USING or null for none

$expression : array<string|int, \Closure|string>|Closure|null

Column(s) or subquery(ies)

Return values
string —

The JOIN conditional part

renderJoinConditionClause()

Validates and renders the JOIN condition clause.

private renderJoinConditionClause(string|null $clause) : string|null
Parameters
$clause : string|null

ON, USING or null for none

Tags
throws
InvalidArgumentException

for invalid condition clause

Return values
string|null —

The condition clause or none

renderJoinConditionExpression()

Renders the JOIN condition expression.

private renderJoinConditionExpression(string|null $clause, array<string|int, \Closure|string>|Closure|null $expression) : string|null
Parameters
$clause : string|null

ONor null

$expression : array<string|int, \Closure|string>|Closure|null

Column(s) or subquery(ies)

Return values
string|null —

The condition or null if $clause is null

renderJoinType()

Validates and renders the JOIN type.

private renderJoinType(string $type) : string
Parameters
$type : string

``, CROSS,INNER, LEFT, LEFT OUTER, RIGHT, RIGHT OUTER, NATURAL, NATURAL LEFT, NATURAL LEFT OUTER, NATURAL RIGHT or NATURAL RIGHT OUTER

Tags
throws
InvalidArgumentException

for invalid type

Return values
string —

The input ype

renderMatch()

Renders a MATCH AGAINST clause.

private renderMatch(array<string|int, \Closure|string>|Closure|string $columns, array<string|int, string>|Closure|string $expression[, string $modifier = '' ]) : string
Parameters
$columns : array<string|int, \Closure|string>|Closure|string
$expression : array<string|int, string>|Closure|string
$modifier : string = ''
Return values
string —

renderMatchColumns()

private renderMatchColumns(array<string|int, \Closure|string>|Closure|string $columns) : string
Parameters
$columns : array<string|int, \Closure|string>|Closure|string
Return values
string —

renderMatchExpression()

private renderMatchExpression(array<string|int, string>|Closure|string $expression) : float|int|string
Parameters
$expression : array<string|int, string>|Closure|string
Return values
float|int|string —

renderWhereOperator()

Renders and validates a comparison operator.

private renderWhereOperator(string $operator) : string
Parameters
$operator : string

=, <=>, !=, <>, >, >=, <, <=, LIKE, NOT LIKE, IN, NOT IN, BETWEEN, NOT BETWEEN, IS NULL or IS NOT NULL

Tags
throws
InvalidArgumentException

for invalid comparison operator

Return values
string —

The operator

renderWherePart()

Renders a WHERE part. Like: `AND column IN('value1', 'value2')`.

private renderWherePart(array<string, mixed> $part[, bool $first = false ]) : string
Parameters
$part : array<string, mixed>

Keys: glue, operator, column and values

$first : bool = false

Is the first part? Prepends the operator (AND or OR)

Return values
string —

renderWhereValues()

Renders the values used by a comparison operator.

private renderWhereValues(string $operator, array<string|int, \Closure|float|int|string|null> $values) : string|null
Parameters
$operator : string

=, <=>, !=, <>, >, >=, <, <=, LIKE, NOT LIKE, IN, NOT IN, BETWEEN, NOT BETWEEN, IS NULL or IS NOT NULL

$values : array<string|int, \Closure|float|int|string|null>
Tags
throws
InvalidArgumentException

for invalid comparison operator

Return values
string|null —

The values used by the operator

renderWhereValuesPartBetween()

Renders values for `BETWEEN` or `NOT BETWEEN`.

private renderWhereValuesPartBetween(string $operator, array<string|int, float|int|string> $values) : string
Parameters
$operator : string

BETWEEN or NOT BETWEEN

$values : array<string|int, float|int|string>

Two values, indexes 0 and 1

Tags
throws
InvalidArgumentException

if $values not receive exactly two values

Return values
string —

renderWhereValuesPartComparator()

Renders the values of operators that receive exactly one value.

private renderWhereValuesPartComparator(string $operator, array<string|int, float|int|string> $values) : string
Parameters
$operator : string

=, <=>, !=, <>, >, >=, <, <=, LIKE or NOT LIKE

$values : array<string|int, float|int|string>

Must receive exactly 1 value, index 0

Tags
throws
InvalidArgumentException

if $values has more than one value

Return values
string —

renderWhereValuesPartIn()

Implode values for `IN` or `NOT IN`.

private renderWhereValuesPartIn(string $operator, array<string|int, float|int|string> $values) : string
Parameters
$operator : string

IN or NOT IN

$values : array<string|int, float|int|string>

Must receive at least 1 value

Tags
throws
InvalidArgumentException

if $values does not receive any value

Return values
string —

renderWhereValuesPartIsNull()

Renders the lonely operators, `IS NULL` or `IS NOT NULL`.

private renderWhereValuesPartIsNull(string $operator, array<string|int, float|int|string> $values) : null
Parameters
$operator : string

IS NULL or IS NOT NULL

$values : array<string|int, float|int|string>

Must be an empty array

Tags
throws
InvalidArgumentException

if $values is not empty

Return values
null —

setJoin()

Sets the JOIN clause.

private setJoin(array<string, \Closure|string>|Closure|string $table, string $type[, string|null $clause = null ][, array<string|int, \Closure|string>|Closure|null $expression = null ]) : static
Parameters
$table : array<string, \Closure|string>|Closure|string

The table factor

$type : string

``, CROSS, INNER, LEFT, LEFT OUTER, RIGHT, RIGHT OUTER, NATURAL, NATURAL LEFT, NATURAL LEFT OUTER, NATURAL RIGHT or NATURAL RIGHT OUTER

$clause : string|null = null

ON, USING or null for none

$expression : array<string|int, \Closure|string>|Closure|null = null

Column(s) or subquery(ies)

Return values
static —

Search results