X-Git-Url: https://git.rapsys.eu/airbundle/blobdiff_plain/9b5aab485913580c7cdf414f4d8157ae6aa4c4b4..cf03fdafb428c4fe3c13d73a96d5eb82647a5b01:/Repository/SlotRepository.php

diff --git a/Repository/SlotRepository.php b/Repository/SlotRepository.php
index b54fd5a..d2b6eb3 100644
--- a/Repository/SlotRepository.php
+++ b/Repository/SlotRepository.php
@@ -1,30 +1,36 @@
-<?php
+<?php declare(strict_types=1);
+
+/*
+ * This file is part of the Rapsys AirBundle package.
+ *
+ * (c) Raphaël Gertz <symfony@rapsys.eu>
+ *
+ * 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;
 
+use Rapsys\AirBundle\Repository;
+
 /**
  * SlotRepository
  */
-class SlotRepository extends \Doctrine\ORM\EntityRepository {
+class SlotRepository extends Repository {
 	/**
 	 * 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 Rapsys\AirBundle\Entity\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 +44,7 @@ class SlotRepository extends \Doctrine\ORM\EntityRepository {
 			->addIndexByScalar('id');
 
 		//Fetch result
-		$res = $em
+		$res = $this->_em
 			->createNativeQuery($req, $rsm)
 			->getResult();
 
@@ -48,7 +54,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'];