2016-02-01 24 views
7

Sto cercando di salvare un valore datetime utilizzando un ingresso, ma continuo a ricevere l'errorechiamata a un formato di funzione membro() su stringa

chiamata a un formato di funzione membro() su stringa

Ecco come ho cercato di salvare il valore.

/** 
* @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; 
} 

Non sono sicuro di dove sto andando male. Qualcuno può aiutarmi?

edit: cambiare il mio setter per

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

risolto il problema.

+2

Il setter è confuso. Come entità di una dottrina, 'setEndDate()' dovrebbe restituire '$ this', e dovresti affidarti all'ORM per trasformare DateTime in e da ciò che è memorizzato nel database. – jbafford

+0

Sì, è così! Grazie! Ho cambiato il mio setter per restituire $ this e ora funziona! – Moopsish

risposta

Problemi correlati