【问题标题】:Call to a member function format() on string调用字符串上的成员函数 format()
【发布时间】:2016-05-10 07:15:51
【问题描述】:

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

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

解决了这个问题。

【问题讨论】:

  • 你的二传手很困惑。作为一个原则实体,setEndDate() 应该返回 $this,并且您应该依靠 ORM 将 DateTime 转换为数据库中存储的数据。
  • 是的,就是这样!谢谢!我更改了我的设置器以返回 $this,现在它可以工作了!

标签: datetime symfony


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-24
    • 1970-01-01
    • 2018-10-05
    • 2018-08-26
    • 2016-08-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多