我有一个BelongsToMany
关联,我的表格为PostsTable
,TagsTable
和PostsTagsTable
。
正如here in the CakePHP book (associations)所述,我有这些字段:
tags.id, tags.tag, tags.post_count
posts_tags.id, posts_tags.tag_id, posts_tags.post_id
现在一切正常。
因此,您可以理解,现在我想将tags.post_count
字段与CounterCache
一起使用。
我关注了CakePHP book,但我认为这是一个特殊情况,事实上它只是通过简单地将行为添加到PostsTable
来起作用。
答案 0 :(得分:2)
CounterCache行为仅适用于belongsTo关联。例如,对于“Comments belongsTo Articles”,您需要将CounterCache行为添加到CommentsTable,以便为Articles表生成comment_count。 虽然可以使这个为belongsToMany关联工作。您需要在关联选项中配置的自定义通过表中启用CounterCache行为。了解如何使用“通过”选项配置自定义连接表。
<强>更新强>