final public function update($properties=NULL) {
		
		// hook for tasks to be executed before creation
		$this->beforeUpdate();
		
		$app	= Application::getInstance();
		$class	= get_called_class();
		$binds	= static::getBinds();
		
		// if property list is empty, will include all
		$properties	= (array)$properties;
		if (!count($properties)) {
			$properties = array_keys($class::getBinds());
		}
		
		$logParam = $this->getKeyForEventlog();

		// require table primary key and force its assign
		if ($this->areKeysPopulated()) {

			// set an object with fields to update
			$dbObj = $this->prepareData($properties);

			// force to array
			$key = (array)$this->keyProperties;

			$dbKey = new \stdClass();

			// set the table key with values
			foreach ($key as $k) {
				
				// get object property value
				$dbKey->{$binds[$k]} = $this->$k;
					
			}
				
			$res = (bool)$this->db->updateObject($class::TABLE_NAME, $dbObj, $dbKey);
			
			$app->logEvent('Updated ' . $class . ' object with ' . $logParam);

		// object is not populated
		} else {

			$res = FALSE;
			$app->logError('The ' . $class . ' object with ' . $logParam . ' cannot be updated');

		}
		
		// hook for tasks to be executed after creation
		$this->afterUpdate();
		
		return $res;
		
	}
final public function update($properties=NULL) {
		
		// hook for tasks to be executed before creation
		$this->beforeUpdate();
		
		$app	= Application::getInstance();
		$class	= get_called_class();
		$binds	= static::getBinds();
		
		// if property list is empty, will include all
		$properties	= (array)$properties;
		if (!count($properties)) {
			$properties = array_keys($class::getBinds());
		}
		
		$logParam = $this->getKeyForEventlog();

		// require table primary key and force its assign
		if ($this->areKeysPopulated()) {

			// set an object with fields to update
			$dbObj = $this->prepareData($properties);

			// force to array
			$key = (array)$this->keyProperties;

			$dbKey = new \stdClass();

			// set the table key with values
			foreach ($key as $k) {
				
				// get object property value
				$dbKey->{$binds[$k]} = $this->$k;
					
			}
				
			$res = (bool)$this->db->updateObject($class::TABLE_NAME, $dbObj, $dbKey);
			
			$app->logEvent('Updated ' . $class . ' object with ' . $logParam);

		// object is not populated
		} else {

			$res = FALSE;
			$app->logError('The ' . $class . ' object with ' . $logParam . ' cannot be updated');

		}
		
		// hook for tasks to be executed after creation
		$this->afterUpdate();
		
		return $res;
		
	}
final public function update ( $ properties = NULL ) { // hook for tasks to be executed before creation $ this -> beforeUpdate ( ) ; $ app = Application :: getInstance ( ) ; $ class = get_called_class ( ) ; $ binds = static :: getBinds ( ) ; // if property list is empty, will include all $ properties = ( array ) $ properties ; if ( ! count ( $ properties ) ) { $ properties = array_keys ( $ class :: getBinds ( ) ) ; } $ logParam = $ this -> getKeyForEventlog ( ) ; // require table primary key and force its assign if ( $ this -> areKeysPopulated ( ) ) { // set an object with fields to update $ dbObj = $ this -> prepareData ( $ properties ) ; // force to array $ key = ( array ) $ this -> keyProperties ; $ dbKey = new \ stdClass ( ) ; // set the table key with values foreach ( $ key as $ k ) { // get object property value $ dbKey -> { $ binds [ $ k ] } = $ this -> $ k ; } $ res = ( bool ) $ this -> db -> updateObject ( $ class :: TABLE_NAME , $ dbObj , $ dbKey ) ; $ app -> logEvent ( 'Updated ' . $ class . ' object with ' . $ logParam ) ; // object is not populated } else { $ res = FALSE ; $ app -> logError ( 'The ' . $ class . ' object with ' . $ logParam . ' cannot be updated' ) ; } // hook for tasks to be executed after creation $ this -> afterUpdate ( ) ; return $ res ; }
Store into db the current object properties with option to write only a subset of
declared properties.

@param	mixed	Optional array of subject properties or single property to update.

@return	bool
Store into db the current object properties with option to write only a subset of declared properties .