我有一个扩展,扩展onAfterWrite了父母的方法.
<?php
public function onAfterWrite(){
parent::onAfterWrite();
$newTask = new Mytask($this->owner->ID);
$newTask->copyTask();
}
?>
Run Code Online (Sandbox Code Playgroud)
问题:
我想实例化类 MyTask并仅在添加新记录时调用其方法,而不是在编辑现有记录时.如何检查我们是否只编辑了现有记录或在方法中添加了新记录onAfterWrite?
谢谢
我相信在初始写入时ID,对象不会有任何设置(至少在此期间不会onBeforeWrite).
(例如,您可以通过在对象上设置标志,用你的优势$this->isFirstWrite = true在)onBeforeWrite,然后检查它onAfterWrite.
更新:正如Barry正确地说的那样,有一个叫做isInDB你可以使用的函数,它只是检查是否有一个ID - 如果我们不再明确地依赖ID来指示它是否在D B.