2016-02-01 13 views
7

Próbuję zapisać wartość datetime korzystania z wejścia ale wciąż otrzymuję BłądZaproszenie do formatu funkcji członka() na ciąg

Zaproszenie do formatu funkcji członka() na ciąg

W ten sposób próbuję zapisać wartość.

/** 
* @var \DateTime 
* 
* @ORM\Column(name="end_date", type="datetime", nullable=true) 
*/ 
private $endDate; 


/** 
* Set endDate 
* 
* @param \DateTime $endDate 
* 
* @return voorstellingen 
*/ 
public function setEndDate($endDate) 
{ 
    $time = new \DateTime($this->endDate = $endDate); 
    $time->format('Y-m-d'); 
    return $time; 
} 

Nie jestem pewien, dokąd zmierzam. Czy ktoś może mi pomóc?

edit: zmieniam setter do

/** 
    * Set endDate 
    * 
    * @param \DateTime $endDate 
    * 
    * @return voorstellingen 
    */ 
    public function setEndDate($endDate) 
    { 
     $this->endDate = new \DateTime($endDate); 
     return $this; 
    } 

rozwiązać ten problem.

+2

Twój seter jest zdezorientowany. Jako obiekt doktryny, 'setEndDate()' powinien zwracać '$ this', a powinieneś polegać na ORM, aby zmienić DateTime na iz tego, co jest przechowywane w bazie danych. – jbafford

+0

Tak, to jest to! dzięki! Zmieniłem setera, żeby zwrócił $ this i teraz działa! – Moopsish

Odpowiedz