доктрина odm устанавливает случайное значение, сгенерированное js Math.random () на pre persist - PullRequest
1 голос
/ 27 января 2012

Я пытаюсь реализовать этот шаблон http://cookbook.mongodb.org/patterns/random-attribute/ в доктрине ODM.

Я хотел бы установить этот атрибут для события pre-persist жизненного цикла. Для достижения наилучших результатов я хотел бы использовать встроенную функцию JavaScript Math.random (), потому что php не может генерировать случайные числа с плавающей точкой, и я хотел бы избежать написания пользовательской функции для этого.

есть ли способ достичь этого?

я пробовал:

    /** @PrePersist */
    public function generateRandom()
    {
        $this->random = new \MongoCode('Math.random()');
    }

но для атрибута всегда устанавливается значение 1, независимо от кода функции

1 Ответ

0 голосов
/ 18 февраля 2014

Я не уверен, что это лучшее решение, но оно работает для меня:

/**
 * @MongoDB\PrePersist()
 * @MongoDB\PreUpdate()
 */
public function generateRandom() {
    $this->random = rand();
}
...