CrudKit\Data\SQLDataProvider::setRow PHP Method

setRow() public method

public setRow ( $id = null, array $values = [] )
$values array
    public function setRow($id = null, array $values = [])
    {
        $builder = $this->conn->createQueryBuilder();
        $pk = $this->getPrimaryColumn()->getExpr();
        $builder->update($this->tableName);
        foreach ($values as $formKey => $formValue) {
            /** @var SQLColumn $col */
            $col = null;
            if (!isset($this->columns[$formKey])) {
                //TODO: Throw library-specific exceptions
                throw new \Exception("Unknown column");
            }
            $col = $this->columns[$formKey];
            $val = $col->cleanValue($values[$formKey]);
            $builder->set($col->getExpr(), $builder->createNamedParameter($val));
        }
        LoggingHelper::logBuilder($builder);
        $builder->where("{$pk} = " . $builder->createNamedParameter($id))->execute();
        return true;
    }