2016-02-01 26 views
7

Tôi đang cố gắng để tiết kiệm một giá trị datetime sử dụng một đầu vào nhưng tôi tiếp tục nhận được lỗiGọi sang một định dạng hàm thành viên() trên chuỗi

Gọi sang một định dạng hàm thành viên() trên chuỗi

Đây là cách tôi đã cố lưu giá trị.

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

Tôi không chắc mình sẽ sai ở đâu. Ai giúp tôi với?

chỉnh sửa: thay đổi setter của tôi để

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

giải quyết vấn đề này.

+2

Trình thiết lập của bạn bị nhầm lẫn. Là một thực thể học thuyết, 'setEndDate()' phải trả về '$ this', và bạn nên dựa vào ORM để biến DateTime thành và từ những gì được lưu trữ trong cơ sở dữ liệu. – jbafford

+0

Vâng, đúng vậy! cảm ơn! Tôi thay đổi setter của tôi để trả lại $ this và bây giờ nó hoạt động! – Moopsish

Trả lời

0

Giống như jbafford cho biết người định cư trong Symfony nên return $this.

Các vấn đề liên quan