1

誰かがこの問題について私を助けてくれますか?

特定のフィールドでテーブルを結合する方法は?

2 つのテーブルがあり、次のように結合したい: Actus.user_id=>Follows.follower_id


表1 =>

フォロー

ID
user_id
follower_id


表2 =>

アクタス

id
user_id
コンテンツ
が作成されました

4

1 に答える 1

0

結合の強制は次のように行われます (私の頭の上で):

<?php 
    $results = $this->Actu->find('all',
        array('joins'=> array(
           'table'=>'followers',
           'type'=>'inner',
           'alias'=>'Follower',
           'conditions'=>array(
               'Follower.follow_id = Actu.user_id',
           )
         )
    )
?>

ただし、通常は結合を強制する必要はありません。モデル (Actu と Follower) が適切に宣言されていれば、CakePhp はこれをビルドできます。"Actu" hasMany "Follower"関係を設定するのはどうですか?こちらをご覧ください

編集 :

私はこのようにします(正確なモデル名がわからないので、再確認してください):

<?php
class Actu extends AppModel {
    public $hasMany = array(
        'Follow'=> array(
            'className'     => 'Follow',
            'foreignKey'    => 'follower_id'
        )
    );
}
?>
于 2012-12-03T09:38:21.183 に答える