コード例 #1
0
ファイル: EntityManager.php プロジェクト: edefine/framework
 /**
  * @param AbstractEntity $entity
  * @return AbstractEntity
  * @throws \Edefine\Framework\Database\DatabaseException
  */
 private function updateEntity(AbstractEntity $entity)
 {
     $updateParts = [];
     foreach ($entity->getMappedFieldsWithValues() as $field => $value) {
         $updateParts[] = sprintf('`%s` = %s', $field, ValueConverter::convertToDatabase($value));
     }
     $result = $this->database->exec(sprintf('UPDATE `%s` SET %s WHERE `id` = %d', $entity->getTableName(), implode(', ', $updateParts), $entity->getId()));
     return $entity;
 }
コード例 #2
0
ファイル: ValueConverter.php プロジェクト: edefine/framework
 /**
  * @param AbstractEntity $entity
  * @param $field
  * @param $value
  * @return \DateTime
  */
 public static function convertToEntity(AbstractEntity $entity, $field, $value)
 {
     if (in_array($field, $entity->getDateTimeFields())) {
         if ($value) {
             return new \DateTime($value);
         } else {
             return null;
         }
     }
     if (in_array($field, $entity->getArrayFields())) {
         return unserialize($value);
     }
     return $value;
 }