예제 #1
0
 public final function updateTheOnlyOneEntity(BaseEntity $entity)
 {
     $id = $entity->getId();
     if (FALSE === $id instanceof MongoDBId) {
         throw new UserException('$id is not proper in $entity.', $entity);
     }
     $criterion = ['_id' => $id->toMongoId()];
     $document = $entity->document();
     unset($document['_id']);
     $document = $this->updateTheOnlyOne($criterion, $document);
     $document['_id'] = $id;
     return $document;
 }
예제 #2
0
 public final function hasOneReferenceTo(BaseEntity $entity, $name = NULL)
 {
     if (TRUE === is_null($name)) {
         $name = $entity->getEntityName();
     } else {
         Kit::ensureString($name);
     }
     return $this->isEqualTo("Reference.{$name}Id", $entity->getId()->toMongoId());
 }
예제 #3
0
 public final function hasOneReferenceTo(BaseEntity $entity, $reference_name = NULL)
 {
     if (TRUE === is_null($reference_name)) {
         $reference_name = $entity->getEntityName();
     }
     return $entity->getId()->isEqualTo($this->getOneReference($reference_name));
 }