public function save()
    {
        $data = [];
        $values = [];

        foreach ($this->getAlias() as $field => $alias) {
            $method = 'get' . ucfirst($alias);
            $value = $this->$method();
            if (null === $value) {
                continue;
            }
            $data[$field] = ':' . $alias;
            $values[$alias] = $value;
        }

        if (null !== $this->condition && !empty($this->row)) {
            $id = $this->driver
                ->query(
                    $this
                        ->getQueryBuilder()
                        ->update($data)
                        ->from($this->getTable())
                        ->where($this->condition)
                )
                ->setParameter($values)
                ->execute()
                ->getAffected();
        } else {
            $id = $this->driver
                ->query(
                    $this
                        ->getQueryBuilder()
                        ->insert($data)
                        ->from($this->getTable())
                )
                ->setParameter($values)
                ->execute()
                ->getId();

            if (!$this->hasError()) {
                if (!empty(static::INCREMENT)) {
                    $increment = 'set' . ucfirst($this->rename(static::INCREMENT));
                    $this->$increment($id);
                }
            }
        }

        foreach ($this->getAlias() as $alias) {
            $this->row[$alias] = $this->$alias;
        }

        return $id;
    }
public function save()
    {
        $data = [];
        $values = [];

        foreach ($this->getAlias() as $field => $alias) {
            $method = 'get' . ucfirst($alias);
            $value = $this->$method();
            if (null === $value) {
                continue;
            }
            $data[$field] = ':' . $alias;
            $values[$alias] = $value;
        }

        if (null !== $this->condition && !empty($this->row)) {
            $id = $this->driver
                ->query(
                    $this
                        ->getQueryBuilder()
                        ->update($data)
                        ->from($this->getTable())
                        ->where($this->condition)
                )
                ->setParameter($values)
                ->execute()
                ->getAffected();
        } else {
            $id = $this->driver
                ->query(
                    $this
                        ->getQueryBuilder()
                        ->insert($data)
                        ->from($this->getTable())
                )
                ->setParameter($values)
                ->execute()
                ->getId();

            if (!$this->hasError()) {
                if (!empty(static::INCREMENT)) {
                    $increment = 'set' . ucfirst($this->rename(static::INCREMENT));
                    $this->$increment($id);
                }
            }
        }

        foreach ($this->getAlias() as $alias) {
            $this->row[$alias] = $this->$alias;
        }

        return $id;
    }
public function save ( ) { $ data = [ ] ; $ values = [ ] ; foreach ( $ this -> getAlias ( ) as $ field => $ alias ) { $ method = 'get' . ucfirst ( $ alias ) ; $ value = $ this -> $ method ( ) ; if ( null === $ value ) { continue ; } $ data [ $ field ] = ':' . $ alias ; $ values [ $ alias ] = $ value ; } if ( null !== $ this -> condition && ! empty ( $ this -> row ) ) { $ id = $ this -> driver -> query ( $ this -> getQueryBuilder ( ) -> update ( $ data ) -> from ( $ this -> getTable ( ) ) -> where ( $ this -> condition ) ) -> setParameter ( $ values ) -> execute ( ) -> getAffected ( ) ; } else { $ id = $ this -> driver -> query ( $ this -> getQueryBuilder ( ) -> insert ( $ data ) -> from ( $ this -> getTable ( ) ) ) -> setParameter ( $ values ) -> execute ( ) -> getId ( ) ; if ( ! $ this -> hasError ( ) ) { if ( ! empty ( static :: INCREMENT ) ) { $ increment = 'set' . ucfirst ( $ this -> rename ( static :: INCREMENT ) ) ; $ this -> $ increment ( $ id ) ; } } } foreach ( $ this -> getAlias ( ) as $ alias ) { $ this -> row [ $ alias ] = $ this -> $ alias ; } return $ id ; }
Save row in database.

@return int|bool
Save row in database .