Rest 在CakePHP 3中保存关联数据时,如何递归调用beforeSave方法?

Rest 在CakePHP 3中保存关联数据时,如何递归调用beforeSave方法?,rest,cakephp,cakephp-3.0,crud,Rest,Cakephp,Cakephp 3.0,Crud,我正在尝试使用CakePHP3编写RESTAPI 我有两个表格Documents和DocumentImages,当我用body发送POST请求时: { "description": "Short Desc.", "company_id": 2, "department_id": 3, "status": 0, "document_images":[ { "base64" : "xyz" }, { "base6

我正在尝试使用CakePHP3编写RESTAPI

我有两个表格Documents和DocumentImages,当我用body发送POST请求时:

{
   "description": "Short Desc.",
   "company_id": 2,
   "department_id": 3,
   "status": 0,
   "document_images":[
    {
        "base64" : "xyz"

    },
    {
        "base64" : "abc"
    }
   ]

}
它同时保存到文档和文档图像,并使图像的文档id保持原样

现在,我需要在保存文档之后和保存图像之前做一些事情,但是图像中的beforeSave函数永远不会被调用,因此它会在DocumentsController中保存这两个实体

在保存文档之后但在保存图像之前,如何捕获事件


顺便说一句,如果有人建议使用CRUD的解决方案,我将不胜感激。

将您的逻辑放入文档的afterSave()回调中,但在文档的afterSave()回调中,文档图像也保存了,在保存到DBI之前我需要它们。我想知道您的表关联是否都设置正确,因为它应该在保存图像之前调用。也许在patchEntity调用后检查您拥有的实体的类型,以确保它们是您期望的类型。