lithium\data\source\Database::_updateFields PHP Method

_updateFields() protected method

Also handles correct incremented/decremented fields.
See also: lithium\data\Entity::increment()
See also: lithium\data\source\Database::_fieldsReturn()
protected _updateFields ( array $data, array $schema, object $context ) : string
$data array
$schema array An array defining the schema of the fields used in the criteria.
$context object Generally a `data\model\Query` instance.
return string SQL fragment, with fields separated by comma.
    protected function _updateFields($data, $schema, $context)
    {
        $fields = array();
        $increment = array();
        if ($entity = $context->entity()) {
            $export = $entity->export();
            $increment = $export['increment'];
        }
        foreach ($data as $field => $value) {
            $schema += array($field => array('default' => null));
            $name = $this->name($field);
            if (isset($increment[$field])) {
                $fields[] = $name . ' = ' . $name . ' + ' . $this->value($increment[$field], $schema[$field]);
            } else {
                $fields[] = $name . ' = ' . $this->value($value, $schema[$field]);
            }
        }
        return join(', ', $fields);
    }