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

Call to a member function format() on string

提问人:Moopsish 提问时间:2/2/2016 最后编辑:Moopsish 更新时间:9/2/2023 访问量:8807

问:

我正在尝试使用输入保存日期时间值,但不断收到错误

对字符串调用成员函数 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;
}

我不确定我哪里出错了。谁能帮我?

编辑:将我的二传手更改为

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

解决了问题。

日期时间 symfony

评论

2赞 jbafford 2/2/2016
你的二传手很困惑。作为一个原则实体,应该返回 ,并且您应该依靠 ORM 将 DateTime 与数据库中存储的内容相互转换。setEndDate()$this
0赞 Moopsish 2/2/2016
是的,就是这样!谢谢!我把我的二传手换成了返回$this,现在它起作用了!

答:

0赞 goulashsoup 8/17/2017 #1

就像 jbafford 说的,Symfony 中的二传手应该.return $this