cakephp3如何检查实体是否是在afterSave回调中新插入的?

Sha*_*Ang 7 cakephp cakephp-3.0

无论何时插入或更新实体,都会调用afterSave回调.如何检查实体是否是新插入的实体?

我想在afterSave回调中做的事情的伪代码.

if newly inserted {
    dispatch event using the events system;
}
Run Code Online (Sandbox Code Playgroud)

Sha*_*Ang 15

我有答案.答案如下:

public function afterSave(Event $event, Entity $entity, array $options) {
    if ($entity->isNew()) {
        // do whatever you need to do here.
    }
}
Run Code Online (Sandbox Code Playgroud)

我希望这可以帮助那些对CakePHP 3不熟悉的人.

链接到这里:http://api.cakephp.org/3.0/class-Cake.Datasource.EntityInterface.html#_isNew