Symfony2 Abfangbare Schwerwiegender Fehler: Objekt der Klasse DateTime konnte nicht in eine Zeichenfolge konvertiert werden
Habe ich eine person (Mitarbeiter) suchen soll, um eine Liste von Personen mit Namen, Vornamen, Geburtsdatum und einige weitere Parameter. die Suche funktioniert für alle parameter, ausgenommen für den date-Parameter, wie Datum der Geburt. mein controller-code ist:
$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());
//...
Den findByPersonDetails Funktion ist diese:
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;
}
Den Fehler ist folgende:
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
Soll ich zum konvertieren von mit meine eigene Funktion den Datums-string? wenn ja Wo sollte ich es tun, um es wiederverwendbar? eine etwaige be-Beispiel?
Ich dachte, die Lehre war in der Lage, dies zu tun automatisch.
Thak you im advenced.
- möglich, Duplikat der Wie Erzeuge ein DateTime-Objekt in einem Twig template
Du musst angemeldet sein, um einen Kommentar abzugeben.
DateTime-Objekte implementieren Sie eine
__toString()
- Methode, so müssen Sie explizit konvertieren Sie Sie in einem string.Glücklicherweise für Sie, haben Sie eine
format()
Methode, die Sie verwenden können, um dies für Sie tun, zum Beispiel:Sehen die docs für weitere Informationen.
Funktioniert es danke Jungs @Glavić und @vascowhite, das einzige, was ich tun müssen, ist, um sicherzustellen, dass das Datum der Vogel ist nicht leer.
Weiß ich nicht wirklich, wie Professionell mein code aussieht, aber es funktioniert für mich.
Nochmals vielen Dank.