0

私のユーザーモデルには、フィールドfollower_countとがありfollowing_countます。

そして、フォロワーとフォローのために、私は以下に定義されているように私のユーザーにHABTMアソシエーションを持っています:

public $hasAndBelongsToMany=array(
    'Following'=>array(
        'className'=>'User',
        'joinTable'=>'user_correlations',
        'foreignKey'=>'correlated_id',
        'associationForeignKey'=>'user_id',
        'fields'=>'id,first_name,last_name,photo_dir,photo',
        'order'=>'Rand()'
    ),
    'Followers'=>array(
        'className'=>'User',
        'joinTable'=>'user_correlations',
        'foreignKey'=>'user_id',
        'associationForeignKey'=>'correlated_id',
        'fields'=>'id,first_name,last_name,photo_dir,photo',
        'order'=>'Rand()'
    )
); 

この場合、フォロワー数とフォロー数を見つけるにはどうすればよいですか?

4

1 に答える 1

0

Neil CrookesによるHABTMカウンターキャッシュプラグインを使用します:https ://github.com/neilcrookes/CakePHP-HABTM-Counter-Cache-Plugin

これは、異なるモデル間のHABTM関係に対して確実に機能します。ユーザーモデルが関係の両側にあるという事実によって混乱するかどうかはわかりませんが、試してみる価値があり、うまくいかなくても、それはあなたにとって良い出発点になるでしょうボックスの。

于 2013-01-12T00:26:35.650 に答える