2015-11-25 130 views
1

我使用symfony和doctrine mongodb odm。堅持一個文檔後,我在數據庫中得到了正確的數據:doctrine odm爲日期字段返回null

{ 
    "_id": ObjectID("565572731ba05cb40e000029"), 
    "date": ISODate("2015-10-31T23:00:00.000Z"), 
    "from": 10, 
    "to": 18, 
    "type": "work", 
    "comment": "", 
    "createdOn": ISODate("2015-11-25T08:33:55.000Z") 
} 

但是當我嘗試在我的倉庫獲取數據,它的日期字段的值返回null。

*編輯:我刪除了「createdOn」(也是一個日期類型字段),並在它工作正常後。但是當我在文檔中再次有兩個日期字段時,它返回NULL,但現在是「createdOn」字段。

object(AppBundle\Document\Report)#636 (10) { 
    ["id":protected]=> 
    string(24) "565572731ba05cb40e000029" 
    ["date":protected]=> 
    NULL 
    ["from":protected]=> 
    int(10) 
    ["to":protected]=> 
    int(18) 
    ["type":protected]=> 
    string(4) "work" 
    ["comment":protected]=> 
    string(0) "" 
    ["createdOn":protected]=> 
    object(DateTime)#572 (3) { 
    ["date"]=> 
    string(26) "2015-11-25 09:33:55.000000" 
    ["timezone_type"]=> 
    int(3) 
    ["timezone"]=> 
    string(13) "Europe/Berlin" 
    } 

}

我具有不同的字段名稱嘗試了(假設「日期」是保留),但結果是相同的。 有沒有人知道它爲什麼是NULL?

我的文檔類:

/** 
* @MongoDB\Document(collection="report", repositoryClass="AppBundle\Document\ReportRepository") 
* @HasLifecycleCallbacks 
*/ 
class Report { 

    /** @MongoDB\Id */ 
    protected $id; 

    /** @MongoDB\date */ 
    protected $date; 

    /** @MongoDB\int */ 
    protected $from; 

    /** @MongoDB\int */ 
    protected $to; 

    /** @MongoDB\string */ 
    protected $type; 

    /** @MongoDB\string */ 
    protected $comment; 

    /** @MongoDB\date */ 
    protected $createdOn; 

    /** 
    * @MongoDB\PrePersist() 
    * @MongoDB\PreUpdate() 
    */ 
    public function prePersist() { 
     $this->setCreatedOn(new \DateTime()); 
    } 

...當然還有(生成)getter和setter方法。而「createdOn」也是一個日期字段,它返回正確的值。

+0

提供您的實體類。 –

回答

1

嘗試清除緩存:

PHP應用程序/控制板C:C