/** * @param array $excludedPropertyNames * @return bool */ public function insert($excludedPropertyNames = array()) { $nameValuePairs = array(); $properties = $this->entityInstance->getProperties(); foreach ($excludedPropertyNames as $excludedPropertyName) { unset($properties[$excludedPropertyName]); } unset($excludedPropertyName); foreach ($properties as $property) { $nameValuePairs[$property->getColName()] = $property->getValue(); } unset($property); $insertQuery = new InsertQuery($this->tableName, $nameValuePairs); $result = $insertQuery->exec(); $insertID = $insertQuery->getLastInsertedID(); if ($insertID) { $this->entityInstance->setID($insertID); } return $result; }