2

関連付けがありBelongsToMany、テーブルはPostsTableとです。TagsTablePostsTagsTable

ここで CakePHP の本 (関連)で説明されているように、次のフィールドがあります。

tags.id, tags.tag, tags.post_count
posts_tags.id, posts_tags.tag_id, posts_tags.post_id

今のところ、すべてが正しく機能しています。tags.post_countですから、おわかりのように、フィールドを で使用したいと思いますCounterCache

私はCakePHP の本に従いましたが、これは特殊なケースだと思いますPostsTable

手伝って頂けますか?ありがとう。

4

1 に答える 1

2

CakePHP ブックから

CounterCache の動作は、属しているアソシエーションに対してのみ機能します。たとえば、「コメントは記事に属します」の場合、記事テーブルの comment_count を生成するために、CounterCache 動作を CommentsTable に追加する必要があります。 ですが、これを belongsToMany アソシエーションで機能させることは可能です。関連付けオプションで構成されたカスタム スルー テーブルで CounterCache の動作を有効にする必要があります。「through」オプションを使用してカスタム結合テーブルを構成する方法を参照してください。

アップデート

于 2015-10-05T12:55:47.613 に答える