Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Symfony][SF2] format daty w LoadFixtures
damianooo
post
Post #1





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

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


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

Ten post edytował damianooo 9.09.2013, 22:11:56
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
Crozin
post
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Nie powinieneś zapisywać formatu daty, tylko datę, tj. obiekt DateTime.
Go to the top of the page
+Quote Post
damianooo
post
Post #3





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

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


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

Ten post edytował damianooo 9.09.2013, 22:30:36
Go to the top of the page
+Quote Post
cadavre
post
Post #4





Grupa: Zarejestrowani
Postów: 472
Pomógł: 7
Dołączył: 7.12.2005
Skąd: Gliwice

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


Zawsze możesz lekko zmodyfikować setter daty - jeśli nie preferujesz ciągłego wpisywania new \DateTime(). (IMG:style_emoticons/default/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. }


Ten post edytował cadavre 15.09.2013, 21:53:13
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 06:40