我有这个保存功能,它会覆盖默认保存功能的行为:
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();
如果'if'之前的isnew()检查,getCreatedAt怎么能返回true?这意味着它引用的对象将不会填充CreatedAt字段,因为它还没有在数据库中。
答案 0 :(得分:1)
虽然created_at
是自动设置的,但您也可以手动设置它 - 即使对象是新的。