1

フィールドにデフォルト値を設定するにはどうすればよいですか。

私のドキュメントでは、フィールド emailnotify のデフォルト値を false に設定する必要があります。mogodb では、デフォルト値はゼロにする必要があります。

私の書類をチェック

namespace xxx\xxxBundle\Document;

use FOS\UserBundle\Document\User as BaseUser;
use Doctrine\ODM\MongoDB\Mapping\Annotations as MongoDB;

/**
 * @MongoDB\Document
 */
class User extends BaseUser
{
    /**
     * @MongoDB\Id(strategy="auto")
     */
    protected $id;

    /**
     * @MongoDB\Boolean
     */
    protected $emailnotify;

    /**
     * Sets the emailnotify.
     *
     * @param boolean $emailnotify
     *
     * @return User
     */
    public function setEmailnotify($emailnotify)
    {
        $this->emailnotify = (Boolean) $emailnotify;
        return $this;
    }
    /**
     * @return boolean
     */
    public function isEmailnotify()
    {
        return $this->emailnotify;
    }

}
4

1 に答える 1

2

コンストラクターでデフォルト値を設定すると機能することがわかりました

public function __construct() {
    $this->emailnotify = false;
}

もちろん、クラス変数を false に設定するだけで、後で Doctrine を使用してドキュメントを再度フェッチする場合、ほとんどの部分で機能しますが、上記のようにプロパティが MongoDB に永続化されることはありません。

于 2014-02-26T15:54:54.470 に答える