Example #1
0
 /**
  * Does the standard insert. Which is not managed by entity manager.
  * 
  * @param EntityManager $em
  * @param object $translation
  * @throws Translatable\Exception if insert fails
  * @return void
  */
 private function _insertTranslationRecord(EntityManager $em, $translation)
 {
     $translationMetadata = $em->getClassMetadata(get_class($translation));
     $data = array();
     foreach ($translationMetadata->getReflectionProperties() as $fieldName => $reflProp) {
         if (!$translationMetadata->isIdentifier($fieldName)) {
             $data[$translationMetadata->getColumnName($fieldName)] = $reflProp->getValue($translation);
         }
     }
     $table = $translationMetadata->getTableName();
     if (!$em->getConnection()->insert($table, $data)) {
         throw Exception::failedToInsert();
     }
 }