コード例 #1
0
 public function addManualEntry()
 {
     $objectManager = $this->getEntityManager();
     $hydrator = new DoctrineHydrator($this->getEntityManager());
     $blogPost = new ChildParent();
     $tags = array();
     $tag1 = new Children();
     $tag1->setName('PHP');
     $tags[] = $tag1;
     $tag2 = new Children();
     $tag2->setName('STL');
     $tags[] = $tag2;
     $data = array('name' => 'The best blog post in the world !', 'tags' => $tags);
     $blogPost = $hydrator->hydrate($data, $blogPost);
     $objectManager->persist($blogPost);
     $objectManager->flush();
 }
コード例 #2
0
 public function update($id, $data)
 {
     $this->createServiceEvent()->setEntityId($id)->setEntityClass($this->getEntityClass())->setDescription("Lead Edited");
     $em = $this->getEntityManager();
     $leadRepository = $em->getRepository("Lead\\Entity\\Lead");
     $entity = $leadRepository->findOneBy(['id' => $id]);
     $hydrator = new DoctrineHydrator($em);
     try {
         $lead = $hydrator->hydrate($data, $entity);
         $em->persist($lead);
         $em->flush();
     } catch (\Exception $e) {
         $this->logError($e);
         return $this->getJsonErrorResponse('json')->errorHandler(400, "Invalid Submission. " . $e->getMessage(), $data);
     }
     if ($lead) {
         $this->getServiceEvent()->setEntityId($lead->getId())->setMessage("Lead #" . $lead->getId() . " edited.");
         $this->logEvent("EditAction.post");
     }
     return $lead;
 }
コード例 #3
0
 /**
  *
  * @param string $action        	
  * @param string $message        	
  * @return \Event\Entity\Event
  */
 protected function getEvent($action = null, $message = null)
 {
     if (!$this->event) {
         if (!$action) {
             $action = 'Unknown ' . get_called_class() . ' Event';
         }
         if (!$message) {
             $message = 'Unknown ' . get_called_class() . ' Event';
         }
         $data = ['event' => $action, 'occurred' => new \DateTime('now'), 'message' => $message];
         try {
             $event = new Event();
             $hydrator = new DoctrineHydrator($this->getEntityManager(), get_class($event));
             $event = $hydrator->hydrate($data, $event);
             $entityManager = $this->getEntityManager();
             $entityManager->persist($event);
             $entityManager->flush();
             $this->event = $event;
         } catch (\Exception $e) {
             // fail silently
             return false;
         }
     }
     return $this->event;
 }