Bonjour à tous,

J'ai un problème sur tous mes champs en DateTime avec le bundle knp-paginator-bundle.

J'ai créé une entité "Agenda" par la commande classique de Symfony make:entity, avec des champs en DateTime.
Exemple pour le champ dateDebut :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
    #[ORM\Column(type: Types::DATETIME_MUTABLE)]
    private ?\DateTimeInterface $dateDebut = null;
 
    public function getId(): ?int
    {
        return $this->id;
    }
 
    public function getDateDebut(): ?\DateTimeInterface
    {
        return $this->dateDebut;
    }
 
    public function setDateDebut(\DateTimeInterface $dateDebut): self
    {
        $this->dateDebut = $dateDebut;
 
        return $this;
    }
Je veux lister le contenu de ma table avec le bundle knplabs/knp-paginator-bundle.
Dans mon controller, j'ai :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$agenda = $this->doctrine->getRepository(Agenda::class)
	->createQueryBuilder('agenda');
 
$agenda->orderBy($sort, $direction)
	->getQuery();
 
$pagination = $paginator->paginate(
	$agenda,
	$request->query->get('page', $page),
	10
);
 
return $this->render('admin/admin_agenda_list.html.twig', array(
	'pagination' => $pagination
));
A l'affichage de ma page, j'ai le message :
Object of class DateTime could not be converted to string
Sur d'autres projets où mon entité ne contient que des champs en String, ça marche nickel.
Mais là, avec mon entité Agenda, ça se banane sur mes champs en Datetime.

Je comprends le problème, getDateDebut renvoie un objet DateTime.

Dans mes tests, j'ai modifié getDateDebut comme suit :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
    public function getDateDebut(): String
    {
        return $this->dateDebut->format('Y-m-d H:i:s');
    }
Là, ma page de pagination s'affiche, mais toutes mes autres pages qui utilisent mon entité se plantent avec le message :
Unable to transform value for property path "dateDebut": Expected a \DateTimeInterface
Mes recherches sur ce problème me ressortent que des vieux posts qui datent d'il y a des années, et je ne trouve pas de solution.

Vous avez des idées svp ?
Merci d'avance pour votre aide !