lithium\data\source\Database::_updateFields()

protected method

Renders the fields part for update queries.

Also handles correct incremented/decremented fields.

Parameters

  • array $data
  • array $schema

    An array defining the schema of the fields used in the criteria.

  • object $context

    Generally a data\model\Query instance.

Returns

string

SQL fragment, with fields separated by comma.

Source

	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);
	}