SQLAssignmentRow
class SQLAssignmentRow (View source)
Represents a list of updates / inserts made to a single row in a table
Properties
| protected | array | $assignments | List of field values to store for this query  | 
                
Methods
Instantiate a new SQLAssignmentRow object with the given values
Given a key / value pair, extract the predicate and any potential parameters in a format suitable for storing internally as a list of paramaterised conditions.
Given a list of assignments in any user-acceptible format, normalise the value to a common ['SQL' => [parameters]] format
Assigns a value to a field using the literal SQL expression, rather than a value to be escaped
Details
        
                            
    __construct(array $values = [])
        
    
    Instantiate a new SQLAssignmentRow object with the given values
        
                    protected        array
    parseAssignment(mixed $value)
        
    
    Given a key / value pair, extract the predicate and any potential parameters in a format suitable for storing internally as a list of paramaterised conditions.
        
                    protected        array
    normaliseAssignments(array $assignments)
        
    
    Given a list of assignments in any user-acceptible format, normalise the value to a common ['SQL' => [parameters]] format
        
                            $this
    addAssignments(array $assignments)
        
    
    Adds assignments for a list of several fields
Note that field values must not be escaped, as these will be internally parameterised by the database engine.
// Basic assignments
$query->addAssignments([
     '"Object"."Title"' => 'Bob',
     '"Object"."Description"' => 'Bob was here'
])
// Parameterised assignments
$query->addAssignments([
     '"Object"."Title"' => ['?' => 'Bob'],
     '"Object"."Description"' => ['?' => null]
])
// Complex parameters
$query->addAssignments([
     '"Object"."Score"' => ['MAX(?,?)' => [1, 3]]
]);
// Assignment of literal SQL for a field. The empty array is
// important to denote the zero-number parameter list
$query->addAssignments([
     '"Object"."Score"' => ['NOW()' => []]
]);
        
        
        
                            $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
E.g.
// Literal assignment
$query->assign('"Object"."Description"', 'lorum ipsum');
// Single parameter
$query->assign('"Object"."Title"', ['?' => 'Bob']);
// Complex parameters
$query->assign('"Object"."Score"', ['MAX(?,?)' => [1, 3]]);        
        
        
                            $this
    assignSQL(string $field, string $sql)
        
    
    Assigns a value to a field using the literal SQL expression, rather than a value to be escaped
        
                            bool
    isEmpty()
        
    
    Determine if this assignment is empty
        
                            array
    getColumns()
        
    
    Retrieves the list of columns updated
        
                            $this
    clear()
        
    
    Clears all assignment values