Doctrine / MongoDB映射整数始终返回null

时间:2014-03-26 06:31:56

标签: php mongodb symfony doctrine-orm

我有mongodb和doctrine的映射问题。

我有一个名为state的属性映射为Integer,但是当我获取对象并转储数据时,我得到以下输出:

  

对象(Me \ MyBundle \ Document \ User)#249(5){[" id":protected] => string(24)" 53320c8b03f69d6573a0d510" ["电子邮件":保护] => string(26)" user@gmail.com" ["密码":保护] => string(24)" 0251db0188235d115b6caz8t" ["盐":保护] => string(40)" 699fd11d7128344ac8548a8774516338057df384" ["状态":"我\ MyBundle \文献\用户":私人] => NULL}

如您所见,状态类型为:" Me \ MyBundle \ Document \ User"这很奇怪。

当我保存用户文档时,状态属性正确保存,但是当我获取文档时,状态为NULL并错误地键入。

这是我的实体代码。

<?php

namespace Me\MyBundle\Document;

use Doctrine\ODM\MongoDB\Mapping\Annotations as MongoDB;
use Symfony\Component\Security\Core\User\UserInterface;
use Symfony\Component\Security\Core\User\EquatableInterface;

/**
 * @MongoDB\Document(collection="user")
 */
class User implements UserInterface, EquatableInterface
{

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

    /**
     * @MongoDB\String
     * @MongoDB\UniqueIndex(name="unique_email", safe=true)
     */
    protected $email;

    /**
     * @MongoDB\String
     */
    protected $password;

    /**
     * @MongoDB\String
     */
    protected $salt;

    /**
     * @MongoDB\Int
     */
    private $state;
    const STATE_INACTIVE = -1;
    const STATE_NEW = 0;
    const STATE_ACTIVE = 1;
    const STATE_PROMOTED = 2;
}

(我省略了getters和setter,因为它们和doctrine生成的通常的getter / setter一样)

0 个答案:

没有答案