W RepositoryClass robię następujące pobranie rekordu:

  1. public function getMatchday(){
  2. $today = new \DateTime('now');
  3. $qb = $this->createQueryBuilder('m');
  4. $qb->select(
  5. 'm.name AS name'
  6. ,'m.dateFrom AS dateFrom'
  7. ,'m.dateTo AS dateTo')
  8. ->where('(m.dateFrom < :today) and (m.dateTo > :today)')
  9. ->setParameter('today', $today->format('Y-m-d H:i:s'))
  10. ;
  11.  
  12. $result = $qb->getQuery()->getResult();
  13. // exit(\Doctrine\Common\Util\Debug::dump($result));
  14.  
  15. return $result;
  16. }


W wyniku dostaję taką tablicę:

  1. array(1) {
  2. [0]=>
  3. array(3) {
  4. ["name"]=>
  5. string(9) "Kolejka 5"
  6. ["dateFrom"]=>
  7. string(8) "DateTime"
  8. ["dateTo"]=>
  9. string(8) "DateTime"
  10. }
  11. }
  12. array(1) {
  13. [0]=>
  14. array(3) {
  15. ["name"]=>
  16. string(9) "Kolejka 5"
  17. ["dateFrom"]=>
  18. string(8) "DateTime"
  19. ["dateTo"]=>
  20. string(8) "DateTime"
  21. }
  22. }



Dlaczego otrzymuję dwa dokładnie te same rekordy ?




ok wiem co było źle ... pobierałem tablicę zamiast pojedynczy rekord ... a więc poprawnie powinno być tak:

  1. $result = $qb->getQuery()->getSingleResult();


Jeszcze tylko pytanie dlaczego nie pobiera mi daty ... w Twig mam błąd:
  1. ("Catchable Fatal Error: Object of class DateTime could not be converted to string")


ok problem z datą też rozwiązany ... wystarczyło po prostu zastosować odpowiedni filtr w TWIG:

  1. {{ matchday.dateFrom|date('d-m-Y') }} {{ matchday.dateTo|date('d-m-Y') }}




Temat do zamknięcia