【发布时间】:2018-07-20 14:24:29
【问题描述】:
我正在使用Users 和Apps 开发应用程序管理面板。我想将更改(添加/编辑/删除)记录到应用程序和用户。这是我通过使用afterSave() 和afterDelete() 回调实现的自定义行为。
请注意,应用程序hasMany 用户和用户hasMany 应用程序具有apps_users 连接表。我为Apps 和Users 创建了模型。
但是,我还想记录应用程序和用户之间的链接(权限)。授予权限后,将使用Apps->Users->link($app, [$user]) 创建用户和应用程序之间的链接。
问题:如何将回调附加到$...->link(...) 调用?
据我所知,它没有定期回调,就像 save() 和 delete() 一样
【问题讨论】:
-
link和unlink应该触发联接表上的回调,而不是直接触发Apps或Users。 -
我试了一下,效果很好。关键是永远不要为连接表创建模型,通常没有必要。
-
当连接表是“唯一”连接表时,不需要为它创建模型。但是当它需要做更多的事情时,很高兴为您提供选择。
标签: events cakephp-3.0 models jointable