Esempio n. 1
0
 /**
  * @param \Doctrine\DBAL\Exception\UniqueConstraintViolationException $e
  * @param \Kdyby\Doctrine\EntityDao $dao
  * @param \Carrooi\Doctrine\Entities\BaseEntity $entity
  * @return static
  */
 public static function createFromDuplicateEntryException(UniqueConstraintViolationException $e, EntityDao $dao, BaseEntity $entity)
 {
     $match = Strings::match($e->getMessage(), '/DETAIL:\\s+Key\\s\\(([a-z_]+)\\)/');
     $column = $dao->getClassMetadata()->getColumnName($match[1]);
     $value = $dao->getClassMetadata()->getFieldValue($entity, $match[1]);
     return new static($e, $entity, $column, $value);
 }
 /**
  * @param UniqueConstraintViolationException $ex
  */
 private function setErrorFlashMessage(UniqueConstraintViolationException $ex)
 {
     switch ($ex->getErrorCode()) {
         case 7:
             $this->addFlash('error', 'Username already exists');
             break;
         default:
             $this->addFlash('error', 'Some error occurred during writing to database');
     }
 }