2011-05-18 59 views
0

我有這樣的保存功能,它覆蓋默認的行爲保存功能:的Symfony:奇怪功能的行爲,系列化

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,如果「如果」有是否新款()之前檢查?這意味着所引用的對象將永遠不會填充CreatedAt字段,導致它不在數據庫中。

回答

1

儘管created_at是自動設置的,但您也可以手動設置它 - 即使對象是新的。