关于 AfterSave 的 CakePHP 2 假设

CakePHP 2 assumption concerning AfterSave

因为这个问题我用谷歌搜索了也没有找到答案,所以我不得不在这里问一下。

我可以假设我总是在 $this->data[$this->alias][[=22= 中有 ID(PK 列)吗]] 在 afterSave 方法中?

如果我不能假设,什么情况下afterSave不会给PK?

感谢您的帮助。

afterSave() 中,您希望使用 $this->id,它始终设置为 afterSave 仅在保存成功时调用,即在数据库。

如果你 look at the code for save() in Model.php 你会看到如果保存不成功 afterSave 之前的方法 returns发起回调。