Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SF][SF2][Symfony2] Porównanie dat w szablonie TWIG
damianooo
post
Post #1





Grupa: Zarejestrowani
Postów: 496
Pomógł: 2
Dołączył: 15.07.2011
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Próbuję w szablonie sprawdzić, która z dat jest większa i wychodzą mi dziwne rzeczy.
Nie jestem pewien czy TWIG porównuje sobie faktycznie obiekty dat czy stringi.

Mam taki kod w TWIGU:

  1. {% if 'now'|date('d-m-Y') < find_matchday(app.request.get('matchday')).dateFrom|date('d-m-Y') and 'now'|date('d-m-Y') < find_matchday(app.request.get('matchday')).dateTo|date('d-m-Y') %}
  2. {% set nextMatchday = true %}
  3. {% else %}
  4. {% set nextMatchday = false %}
  5. {% endif %}


zweryfikowałem sobie dumpem co wyświetlają poszczególne części kodu i tak:

  1. {{ dump('now'|date('d-m-Y')) }}
  2. {{ dump(nextMatchday) }}
  3. {{ dump(app.request.get('matchday')) }}
  4. {{ dump(find_matchday(app.request.get('matchday')).dateFrom|date('d-m-Y')) }}
  5. {{ dump(find_matchday(app.request.get('matchday')).dateTo|date('d-m-Y')) }}
  6. {{ dump('now'|date('d-m-Y') < find_matchday(app.request.get('matchday')).dateFrom|date('d-m-Y')) }}
  7. {{ dump('now'|date('d-m-Y') < find_matchday(app.request.get('matchday')).dateTo|date('d-m-Y')) }}


wyniki powyższego:

"27-01-2018"
false
"1"
"05-02-2018"
"11-02-2018"
false
false


jakim cudem zmienna nextMatchday = false ?
data obecna jest większa od dat 5 lutego i 11 lutego ?

Ten post edytował damianooo 27.01.2018, 22:38:58
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
damianooo
post
Post #2





Grupa: Zarejestrowani
Postów: 496
Pomógł: 2
Dołączył: 15.07.2011
Skąd: Katowice

Ostrzeżenie: (0%)
-----


no raczej tak

W entity mam tak:

  1. /**
  2.   * @ORM\Column(name="date_from", type="datetime", nullable=true)
  3.   */
  4. private $dateFrom;
  5.  
  6. /**
  7.   * @ORM\Column(name="date_to", type="datetime", nullable=true)
  8.   */
  9. private $dateTo;



Metoda jaką w Twigu pobieram daty do korzystając z klasy AppExtension wygląda tak:


  1. // get matchday by name
  2. public function getMatchdayByName($name){
  3. $repository = $this->doctrine->getRepository('AppBundle:Matchday');
  4. $matchday = $repository->findOneByName($name);
  5.  
  6. return $matchday;
  7. }
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 12.10.2025 - 18:26