Bonjour
En ce moment je m’exerce sur un projet pour apprendre Symfony 5, mais là je bloque sur un point, car Symfony c’est difficile
J’ai deux tables SQL : Program & Seasons, je récupére les séries via la table Program et j’affiche les saisons dans l’ordre des IDs; mais je souhaite afficher les saisons dans l’ordre croissant (1, 2, 3, etc.).
Le champ que je souhaite trié se trouve dans Seasons > Number.
Mon code simplifié :
src/Entity/Program.php
/**
* @ORM\OneToMany(targetEntity=Season::class, mappedBy="program")
*/
private $seasons;
src/Controller/ProgramController.php
/**
* @Route("/{slug}", name="show")(
* @ParamConverter("program", class="App\Entity\Program", options={"mapping": {"slug": "slug"}})
*/
public function show(Program $program):Response
{
// Je récupérer les saisons et les affiche dans mon twig
$seasons = $program->getSeasons();
return $this->render('program/show.html.twig', [
'program' => $program,
'seasons' => $seasons,
]);
}
src/Entity/Program.php
/**
* @return Collection|Season[]
*/
public function getSeasons(): Collection
{
return $this->seasons;
}
Donc j’ai pensé à faire une requête personnalisée dans le repository de Season :
src/Repository/SeasonRepository.php
public function orderByNumber()
{
return $this->createQueryBuilder('s')
->orderBy('s.number', 'ASC')
->getQuery()
->getResult()
;
Mais ça ne fonctionne pas et je ne sais pas trop comment faire; si quelqu’un peut me renseigner
+0
-0