CakePHP 3:与BelongsToMany的CounterCache

时间:2015-10-05 12:21:44

标签: cakephp has-and-belongs-to-many counter-cache cakephp-3.1

我有一个BelongsToMany关联,我的表格为PostsTableTagsTablePostsTagsTable

正如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来起作用。

你能帮帮我吗?感谢。

1 个答案:

答案 0 :(得分:2)

From CakePHP Book

  

CounterCache行为仅适用于belongsTo关联。例如,对于“Comments belongsTo Articles”,您需要将CounterCache行为添加到CommentsTable,以便为Articles表生成comment_count。   虽然可以使这个为belongsToMany关联工作。您需要在关联选项中配置的自定义通过表中启用CounterCache行为。了解如何使用“通过”选项配置自定义连接表。

<强>更新