gpt4 book ai didi

php - doctrine odm 为日期字段返回 null

转载 作者:可可西里 更新时间:2023-11-01 10:42:43 31 4
gpt4 key购买 nike

我将 symfony 与 doctrine mongodb odm 结合使用。持久化文档后,我在数据库中获得了正确的数据:

{
"_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 作为日期字段的值。

*edit:我删除了“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”也是一个日期字段,它返回正确的值。

最佳答案

尝试清除缓存:

php app/console c:c

关于php - doctrine odm 为日期字段返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33911480/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com