interface SQLWriteExpression

Represents a SQL expression which may have field values assigned (UPDATE/INSERT Expressions)

Methods

$this
addAssignments(array $assignments)

Adds assignments for a list of several fields.

$this
setAssignments(array $assignments)

Sets the list of assignments to the given list

array
getAssignments()

Retrieves the list of assignments in parameterised format

$this
assign(string $field, mixed $value)

Set the value for a single field

$this
assignSQL(string $field, string $sql)

Assigns a value to a field using the literal SQL expression, rather than a value to be escaped

Details

at line 50
$this addAssignments(array $assignments)

Adds assignments for a list of several fields.

For multi-row objects this applies this to the current row.

Note that field values must not be escaped, as these will be internally parameterised by the database engine.

// Basic assignments $query->addAssignments(array( '"Object"."Title"' => 'Bob', '"Object"."Description"' => 'Bob was here' ))

// Parameterised assignments $query->addAssignments(array( '"Object"."Title"' => array('?' => 'Bob')), '"Object"."Description"' => array('?' => null)) ))

// Complex parameters $query->addAssignments(array( '"Object"."Score"' => array('MAX(?,?)' => array(1, 3)) ));

// Assigment of literal SQL for a field. The empty array is // important to denote the zero-number paramater list $query->addAssignments(array( '"Object"."Score"' => array('NOW()' => array()) ));

Parameters

array $assignments The list of fields to assign

Return Value

$this Self reference

at line 62
$this setAssignments(array $assignments)

Sets the list of assignments to the given list

For multi-row objects this applies this to the current row.

Parameters

array $assignments

Return Value

$this Self reference

See also

SQLWriteExpression::addAssignments() for syntax examples

at line 73
array getAssignments()

Retrieves the list of assignments in parameterised format

For multi-row objects returns assignments for the current row.

Return Value

array List of assigments. The key of this array will be the column to assign, and the value a parameterised array in the format array('SQL' => array(parameters));

at line 99
$this assign(string $field, mixed $value)

Set the value for a single field

For multi-row objects this applies this to the current row.

E.g.

// Literal assignment $query->assign('"Object"."Description"', 'lorum ipsum'));

// Single parameter $query->assign('"Object"."Title"', array('?' => 'Bob'));

// Complex parameters $query->assign('"Object"."Score"', array('MAX(?,?)' => array(1, 3));

Parameters

string $field The field name to update
mixed $value The value to assign to this field. This could be an array containing a parameterised SQL query of any number of parameters, or a single literal value.

Return Value

$this Self reference

at line 111
$this assignSQL(string $field, string $sql)

Assigns a value to a field using the literal SQL expression, rather than a value to be escaped

For multi-row objects this applies this to the current row.

Parameters

string $field The field name to update
string $sql The SQL to use for this update. E.g. "NOW()"

Return Value

$this Self reference