@@ -207,7 +207,8 @@ public function __construct(array $requestParams, DatatableInterface $datatable)
207207 $ this ->entityName = $ datatable ->getEntity ();
208208
209209 $ this ->metadata = $ this ->getMetadata ($ this ->entityName );
210- $ this ->entityShortName = $ this ->getEntityShortName ($ this ->metadata , $ this ->em );
210+ $ this ->entityShortName = $ this ->getSafeName (strtolower ($ this ->metadata ->getReflectionClass ()->getShortName ()));
211+
211212 $ this ->rootEntityIdentifier = $ this ->getIdentifier ($ this ->metadata );
212213
213214 $ this ->qb = $ this ->em ->createQueryBuilder ()->from ($ this ->entityName , $ this ->entityShortName );
@@ -262,6 +263,7 @@ private function initColumnArrays()
262263
263264 $ currentPart = array_shift ($ parts );
264265 $ currentAlias = ($ previousPart === $ this ->entityShortName ? '' : $ previousPart .'_ ' ).$ currentPart ;
266+ $ currentAlias = $ this ->getSafeName ($ currentAlias );
265267
266268 if (!array_key_exists ($ previousAlias .'. ' .$ currentPart , $ this ->joins )) {
267269 $ this ->addJoin ($ previousAlias .'. ' .$ currentPart , $ currentAlias , $ this ->accessor ->getValue ($ column , 'joinType ' ));
@@ -755,24 +757,21 @@ private function getMetadata($entityName)
755757 }
756758
757759 /**
758- * Get entity short name.
759- *
760- * @param ClassMetadata $metadata
761- * @param EntityManagerInterface $entityManager
760+ * Get safe name.
762761 *
762+ * @param $name
763763 * @return string
764764 */
765- private function getEntityShortName ( ClassMetadata $ metadata , EntityManagerInterface $ entityManager )
765+ private function getSafeName ( $ name )
766766 {
767- $ entityShortName = strtolower ($ metadata ->getReflectionClass ()->getShortName ());
768767 try {
769- $ reservedKeywordsList = $ entityManager ->getConnection ()->getDatabasePlatform ()->getReservedKeywordsList ();
770- $ isReservedKeyword = $ reservedKeywordsList ->isKeyword ($ entityShortName );
768+ $ reservedKeywordsList = $ this -> em ->getConnection ()->getDatabasePlatform ()->getReservedKeywordsList ();
769+ $ isReservedKeyword = $ reservedKeywordsList ->isKeyword ($ name );
771770 } catch (DBALException $ exception ) {
772771 $ isReservedKeyword = false ;
773772 }
774773
775- return $ isReservedKeyword ? "_ {$ entityShortName }" : $ entityShortName ;
774+ return $ isReservedKeyword ? "_ {$ name }" : $ name ;
776775 }
777776
778777 /**
0 commit comments