Symfony - 类DateTime的对象无法转换为字符串

时间:2015-10-29 12:19:25

标签: php symfony datetime twig

我在班上遇到了datetime属性的问题。

下一个代码在我的树枝模板中。

<div class="process-photo"><img src="{{ photo.getPhotoUrl }}" /></div>

这是getPhotoUrl方法

 public function getPhotoUrl()
    {
        return '/web/uploads/photos/'.$this->getUserId().'/'.$this->getPhotoUploadDate().'/'.$this->getName();
    }

这是getPhotoUploadDate方法

public function getPhotoUploadDate() {
    return date('Y-m-d', strtotime($this->creationDate));
    }

我收到下一个错误 - 警告:strtotime()期望参数1为字符串,给定对象

如果我这样试试

public function getPhotoUrl()
    {
        return '/web/uploads/photos/'.$this->getUserId().'/'.$this->creationDate.'/'.$this->getName();
    }

我收到下一个错误 - Catchable Fatal Error:类DateTime的对象无法转换为字符串

我做错了什么?

1 个答案:

答案 0 :(得分:3)

错误消息

  

类DateTime的对象无法转换为字符串

是您需要的所有信息。

$this->creationDate是一个DateTime对象,它已包含Date信息。

因此,您可以轻松date('Y-m-d', strtotime($this->creationDate))代替$this->creationDate->format('Y-m-d')

您尝试从另一个日期字符串创建新的Datestring,而不是给出一个日期字符串,而是提供DateTime对象。