private function updateRow($updateColumns = array()) { $updateBuilder = $this->createUpdateBuilder(); $updateBuilder->from->add($this->table->name()); foreach ($this->tableColumns as $column) { if (count($updateColumns) > 0 && !in_array($column->name, $updateColumns, true)) { continue; } $columnValue = $this->getInternalValue($column->name); if (!$this->table->isPrimary($column->name) && $columnValue !== null) { if ($columnValue == self::NULL) { $updateBuilder->set->add($column->name, 'NULL', false); } else { $updateBuilder->set->add($column->name, $columnValue, $column->doQuote()); } } } $updateBuilder->where = $this->getPrimaryWhereClause(); $updateBuilder->updateOne(); }