/** * Creates UPDATE query. * * @param string $table A table name for the query. * @param array $values Expressions list for updating. * @return UpdateQuery */ function update($table, array $values) { $valuesBag = new ExpressionBag(); foreach ($values as $column => $value) { if ($value instanceof Assign) { $valuesBag->add($value); } else { $valuesBag->add(assign($column, $value)); } } return new UpdateQuery(new Reference($table), $valuesBag); }
/** * @param DriverInterface $driver * @return string * @throws CompileException */ private function compileFields(DriverInterface $driver) { if (empty($this->fields)) { throw new CompileException('No fields found for insert query.'); } $fields = new ExpressionBag(); foreach ($this->fields as $field) { $fields->add(new Reference($field)); } return $fields->concat($driver, ', '); }