誰かがこの問題について私を助けてくれますか?
特定のフィールドでテーブルを結合する方法は?
2 つのテーブルがあり、次のように結合したい: Actus.user_id=>Follows.follower_id
表1 =>
フォロー
ID
user_id
follower_id
表2 =>
アクタス
id
user_id
コンテンツ
が作成されました
結合の強制は次のように行われます (私の頭の上で):
<?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'
)
);
}
?>