Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony][SF2] format daty w LoadFixtures
Forum PHP.pl > Forum > PHP > Frameworki
damianooo
Witam.

Mam w Entity taki oto atrybut typu Datetime:

  1. /**
  2.   * @var \DateTime
  3.   *
  4.   * @ORM\Column(name="date_start", type="date")
  5.   */
  6. private $date_start;



W pliku LoadData.php wczytuję dane do bazy danych. Mam jadnak problem przy takim zapisie:

  1. $matchday = new Matchday();
  2. $matchday->setDateStart('2013-09-09');
  3. $manager->persist($matchday);
  4. $manager->flush();


w konsoli wywala mi następujący błąd:

  1. PHP Fatal error: Call to a member function format() on a non-object in /var/www/test/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/DateType.php on line 44
  2. Fatal error: Call to a member function format() on a non-object in /var/www/test/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/DateType.php on line 44


co robię źle ? Jak ten format daty powinienem zapisywać?

dzięki
Crozin
Nie powinieneś zapisywać formatu daty, tylko datę, tj. obiekt DateTime.
damianooo
a więc będzie tak:
  1. $matchday = new Matchday();
  2. $matchday->setDateStart(new \DateTime('2013-09-09'));
  3. $manager->persist($matchday);
  4. $manager->flush();


wielkie dzięki , teraz działa ...

pozdrawiam
cadavre
Zawsze możesz lekko zmodyfikować setter daty - jeśli nie preferujesz ciągłego wpisywania new \DateTime(). wink.gif

  1. $matchday = new Matchday();
  2. $matchday->setDateStart('2013-09-09');
  3. $manager->persist($matchday);
  4. $manager->flush();


Matchday.php
  1. class Matchday {
  2.  
  3. private $date_start;
  4.  
  5. public function setDateStart($date) {
  6. $this->date_start = new \DateTime($date);
  7. }
  8. }
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.