Symfony: странное поведение функции, сериализация - PullRequest
0 голосов
/ 18 мая 2011

У меня есть эта функция сохранения, которая переопределяет поведение функции сохранения по умолчанию:

class JobeetJob extends BaseJobeetJob {
    public function save(PropelPDO $con = null)
    {
        if($this->isNew() && !$this->getExpiresAt())
        {
            $now = $this->getCreatedAt() ? $this->getCreatedAt('U') : time();
            $this->setExpiresAt($now + 86400 * sfConfig::get('app_active_days'));
        }

        return parent::save($con);
    }
}

Взял это из книги.

Что меня беспокоит, так это смысл следующей строки:

$now = $this->getCreatedAt() ? $this->getCreatedAt('U') : time();

Как getCreatedAt может когда-либо возвращать true, если в 'if' ранее была проверка isnew ()? Это означает, что объект, на который он ссылается, никогда не заполнит поле CreatedAt, потому что его еще нет в базе данных.

1 Ответ

1 голос
/ 18 мая 2011

Хотя created_at устанавливается автоматически, но вы также можете установить его вручную - даже если объект новый.

...