我想检测是否插入了新记录或者在afterSave()中更新了旧记录,但我不知道如何。
我考虑在beforeSave()中编写一个配置变量(我可以检测插入,如果没有设置id),但这可能不是一种安全的方法。
有什么想法吗?
答案 0 :(得分:8)
您可以使用 afterSave( $model, $created ) 功能执行此操作。
因为,afterSave()
函数的 第二个参数 为Boolean
,如果 true >创建新行 否则它将为您提供false
。
答案 1 :(得分:0)
传递id(记录更新时)并在saveall或save后立即保存 也可以帮忙。 例如; $ this-> set('id',$ this-> MyModule-> id);
答案 2 :(得分:0)
您可以在此处编写以下代码行来检查:
public function afterSave(Event $event, Entity $entity, array $options) {
if ($entity->isNew()) {
// do whatever you need to do here.
}
}