У меня есть эта функция сохранения, которая переопределяет поведение функции сохранения по умолчанию:
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, потому что его еще нет в базе данных.