예제 #1
0
 public static function save(AbstractEntity $entity, array $options = array())
 {
     $collection = self::getCollection();
     $entity->validate();
     self::callPreSaveHook($entity);
     $entityToSave = $entity->toArray();
     try {
         $collection->save($entityToSave, $options);
         $entity->setField('_id', $entityToSave['_id']);
         self::callPostSaveHook($entity);
     } catch (\Exception $e) {
         throw new MapperException($e->getMessage(), $e->getCode(), $e->getPrevious());
     }
     return $entity;
 }