/** * * @param array $data * @param bool|null $returnPartial * @param stdClass|null $extra * @return LisUser * @throws Exception */ public function Create($data, $returnPartial = false, $extra = null) { if (count($data) < 1) { throw new Exception('NO_DATA'); } $entity = new LisUser($this->getEntityManager()); $data['password'] = $this->passwordToHash($data['password']); $entity->hydrate($data); if (!$entity->validate()) { throw new Exception(Json::encode($entity->getMessages(), true)); } $this->getEntityManager()->persist($entity); $this->getEntityManager()->flush($entity); if ($returnPartial) { $dql = "SELECT \n partial lisuser.{\n id,\n email,\n password\n }\n FROM Core\\Entity\\LisUser lisuser\n WHERE lisuser.id = " . $entity->getId(); $q = $this->getEntityManager()->createQuery($dql); //print_r($q->getSQL()); $r = $q->getSingleResult(Query::HYDRATE_ARRAY); return $r; } return $entity; }
/** * {@inheritDoc} */ public function getMessages() { $this->__initializer__ && $this->__initializer__->__invoke($this, 'getMessages', array()); return parent::getMessages(); }