【问题标题】:doctrine odm returns null for date field学说 odm 为日期字段返回 null
【发布时间】:2016-02-27 22:42:36
【问题描述】:

我使用 symfony 和学说 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 mongodb symfony doctrine-orm


【解决方案1】:

尝试清除缓存:

php 应用程序/控制台 c:c

【讨论】:

  • PHP:语法错误,第 107 行 /etc/php/5.6/cli/php.ini 中的意外 '&' 无法打开输入文件:app/console
猜你喜欢
  • 2016-12-21
  • 1970-01-01
  • 2014-01-08
  • 1970-01-01
  • 2016-01-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多