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」也是一個日期字段,它返回正確的值。
提供您的實體類。 –