Datetime 对字符串调用成员函数format()

Datetime 对字符串调用成员函数format(),datetime,symfony,Datetime,Symfony,我试图使用输入保存datetime值,但我一直收到错误 对字符串调用成员函数format() 这就是我一直试图保存价值的方式 /** * @var \DateTime * * @ORM\Column(name="end_date", type="datetime", nullable=true) */ private $endDate; /** * Set endDate * * @param \DateTime $endDate * * @return voorstell

我试图使用输入保存datetime值,但我一直收到错误

对字符串调用成员函数format()

这就是我一直试图保存价值的方式

/**
 * @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;
}
我不确定我错在哪里。有人能帮我吗

编辑:将我的setter更改为

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

解决了问题。

就像Symfony中所说的setter应该
返回$this

您的setter感到困惑。作为一个条令实体,
setEndDate()
应该返回
$this
,您应该依靠ORM将日期时间转换为数据库中存储的日期时间。是的,就是这样!谢谢我改变了我的setter以返回$this,现在它工作了!