2017-10-18 10 views
-1

Je suis nouveau avec Symfony2 et PHP et j'ai une question relative à la mise en forme des dates.Symfony2 Date de transformation (jj.mm.aaaa) (aaaa-mm-jj)

J'ai un formulaire où l'utilisateur peut entrer une date dans ce format: dd.mm.yyyy. La base de données SQL utilise ce format: yyyy-mm-dd. Maintenant, quand faire une requête sql je reçois une discordance bien sûr.

public function getFindingPatientQuery($birthdate){ 
    $em = $this->getEntityManager(); 
    $query = $em->createQuery(
      'SELECT p 
      FROM Data\LiveBundle\Entity\DataAPatient p 
      WHERE p.pDateOfBirth = :birthdate' 
     )->setParameter('birthdate', $birthdate| ('Y-m-d')); 

    return $query; 
} 

Quelle est la meilleure façon de transformer la date d'entrée dd.mm.yyyy au format exigé yyyy-mm-dd? Existe-t-il une solution globale si j'avais besoin de cette transformation plus d'une fois? Je préfère une solution non-JavaScript.

J'ai trouvé une réponse ici dans le forum mais rien n'a fonctionné.

Merci

+0

Bienvenue sur SO. Avant d'écrire quelque chose de plus ici, s'il vous plaît lire: https://stackoverflow.com/help/mcve. En outre, cette question est trop large. Ce site n'est pas un service d'écriture de code et n'est pas destiné à fournir des solutions complètes. Les utilisateurs doivent faire preuve d'effort et de code tandis que SO est là pour vous aider à résoudre des problèmes de programmation spécifiques en cours de route. S'il vous plaît montrer ce que vous avez essayé. –

Répondre

0

Essayez d'indiquer le type de paramètre et assurez-vous que la variable $birthdate est un objet \DateTime:

use Doctrine\DBAL\Types\Type; 
... 
->setParameter('birthdate', $birthdate, Type::DATE); 
0

Peut-être pas la date de naissance est de type date?

$date = DateTime::createFromFormat('j-M-Y', $birthdate); 
echo $date->format('Y-m-d');