CakePHP 3 - 模型上的事件->link(...)

CakePHP 3 - Event on Model->link(...)

我正在使用 UsersApps 开发应用程序管理面板。我想将更改(添加/编辑/删除)记录到应用程序和用户。这是我使用自定义行为实现的,使用 afterSave()afterDelete() 回调。

请注意,应用 hasMany 用户和用户 hasMany 应用 apps_users 加入 table。我为 AppsUsers 创建了模型。

但是,我还想记录应用程序和用户(权限)之间的 links。授予权限后,将使用 Apps->Users->link($app, [$user]).

在用户和应用程序之间创建 link

问题:如何将回调附加到 $...->link(...) 调用?

据我所知,它没有定期回调,就像 save()delete()

浏览我自己的问题时,我注意到了这一点。

解决方案是为 link table 创建 table 对象,并为 table 添加 afterSaveafterDelete 事件秒。可以创建附加到那些 link table 对象的行为以重用逻辑。