From adb446c3086f97e4832043d71de83959d7769f11 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Rapha=C3=ABl=20Gertz?= Date: Tue, 4 Oct 2022 08:44:44 +0200 Subject: [PATCH 1/1] Inherit entity repository Php strict Cleanup --- Repository/SlotRepository.php | 34 +++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/Repository/SlotRepository.php b/Repository/SlotRepository.php index b54fd5a..0e440b8 100644 --- a/Repository/SlotRepository.php +++ b/Repository/SlotRepository.php @@ -1,30 +1,34 @@ - + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ namespace Rapsys\AirBundle\Repository; -use Symfony\Component\Translation\TranslatorInterface; use Doctrine\ORM\Query\ResultSetMapping; /** * SlotRepository */ -class SlotRepository extends \Doctrine\ORM\EntityRepository { +class SlotRepository extends EntityRepository { /** * Find slots with translated title * - * @param $translator The TranslatorInterface instance + * @return array The slots id keyed by translated title */ - public function findAllWithTranslatedTitle(TranslatorInterface $translator) { - //Get entity manager - $em = $this->getEntityManager(); - - //Get quote strategy - $qs = $em->getConfiguration()->getQuoteStrategy(); - $dp = $em->getConnection()->getDatabasePlatform(); - + public function findAllWithTranslatedTitle(): array { //Set the request from quoted table name //XXX: this allow to make this code table name independent - $req = 'SELECT s.id, s.title FROM '.$qs->getTableName($em->getClassMetadata('RapsysAirBundle:Slot'), $dp).' AS s'; + $req = 'SELECT s.id, s.title FROM RapsysAirBundle:Slot AS s'; + + //Replace bundle entity name by table name + $req = str_replace($this->tableKeys, $this->tableValues, $req); //Get result set mapping instance //XXX: DEBUG: see ../blog.orig/src/Rapsys/BlogBundle/Repository/ArticleRepository.php @@ -38,7 +42,7 @@ class SlotRepository extends \Doctrine\ORM\EntityRepository { ->addIndexByScalar('id'); //Fetch result - $res = $em + $res = $this->_em ->createNativeQuery($req, $rsm) ->getResult(); @@ -48,7 +52,7 @@ class SlotRepository extends \Doctrine\ORM\EntityRepository { //Process result foreach($res as $data) { //Get translated slot - $slot = $translator->trans($data['title']); + $slot = $this->translator->trans($data['title']); //Set data //XXX: ChoiceType use display string as key $ret[$slot] = $data['id']; -- 2.41.1