J'ai une personne (employé) de recherche qui est censée retourner une liste de personnes par nom, prénom, date de naissance et d'autres paramètres. la recherche fonctionne bien pour chaque paramètre exempt de paramètres de date, comme la date de naissance. mon code de contrôleur est le suivant:Symfony2 Catchable Fatal Erreur: Objet de la classe DateTime n'a pas pu être converti en chaîne
$aWorker = new Worker();
$searchWorkerForm = $this->createFormBuilder($aWorker)
->add('omang', 'text', array('required' => false))
->add('workerName', 'text', array('required' => false))
->add('workerSurname', 'text', array('required' => false))
->add('birthDay', 'date',
array('required' => false, 'years' => range(1950, 2020)))
->add('dateOfEmployment', 'date', array('required' => false))
->add('search', 'submit')
->getForm();
//Handle Request
if ($request->getMethod() == 'POST')
$searchWorkerForm->handleRequest($request);
$aWorkerList = $this->getDoctrine()
->getRepository('OsdRetireBundle:Worker')
->findByPersonDetails($aWorker->getOmang(),
$aWorker->getWorkerName(),
$aWorker->getWorkerSurname(),
$aWorker->getBirthDay(),
$aWorker->getDateOfEmployment());
//...
La fonction findByPersonDetails est la suivante:
public function findByPersonDetails($omang, $WorkerName,
$workerSurname, $birthDay, $dateOfEmployment){
$qqq = $this->getEntityManager()
->createQuery('SELECT w FROM OsdRetireBundle:Worker w
WHERE w.omang LIKE :omang
AND w.workerName LIKE :WorkerName
AND w.workerSurname LIKE :workerSurname
AND w.birthDay LIKE :birthDay
AND w.dateOfEmployment LIKE :dateOfEmployment')
->setParameter('omang', '%'.$omang.'%')
->setParameter('WorkerName', '%'.$WorkerName.'%')
->setParameter('workerSurname', '%'.$workerSurname.'%')
->setParameter('birthDay', '%'.$birthDay.'%')
->setParameter('dateOfEmployment', '%'.$dateOfEmployment.'%')
->getResult();
return $qqq;
}
L'erreur est la suivante:
Catchable Fatal Error: Object of class DateTime could not be converted to string in /var/www/Org/src/Osd/RetireBundle/Entity/WorkerRepository.php line 27
500 Internal Server Error - ContextErrorException
Suis-je censé convertir avec ma propre fonction de la date corder? si oui Où devrais-je le faire pour le rendre réutilisable? un exemple de travail? Je pensais que Doctrine était capable de faire cela automatiquement. Thak vous dans advenced.
duplication possible de [Comment rendre un objet DateTime dans un modèle Twig] (http://stackoverflow.com/questions/8318914/how-to-render-a-datetime-object-in-a-twig-template) – javidazac