0

顧客が接続しているときにフォローしているユーザーに関するすべてのニュース(アクタス)を見つけたいと思います。

これらのテーブルを作成しました

作成されたユーザー
ID
ユーザー名


IDをフォロー
ますuser_idfollow_id

Actusiduser_id
コンテンツ が 作成されまし



モデルユーザーは、HasmanyジョイントによってFollowとActuにリンクされています

これを試してみましたが、うまくいかないようです

 $this->Follow->find('all', array(
        'conditions' => array('Follow.user_id' => $this->Session->read('Auth.User.id')),
        'contain' => array('User' => array('Actu','conditions'=>array('User.id = Follow.follow_id')))));

誰かが私を助けてくれますか?

前もって感謝します

4

2 に答える 2

0

あなたの協会は修正が必要だと思います(モデルとテーブルを修正してください)

follow_idをActusテーブルに配置し、Actusテーブルに関連するテーブルをフォローし、テーブル名がユーザーであることを確認します

Follows hasmany Actusのような関連付けが必要であり、Followsはユーザーに属しています

あなたがすべての正しい関連付けを持っているなら、あなたはこれを検索クエリのようにすることができます

$this->Follow->find('all',array('conditions'=>array('Follow.user_id' => $this->Session->read('Auth.User.id')));

これをチェックしてください

  1. テーブル名がUsersであることを確認してください
  2. follow_idをActusテーブルに配置します
  3. 関連付けを確認してください
于 2012-12-04T06:15:53.513 に答える
0

これが結果です

配列 ( [0] => 配列 ( [フォロー] => 配列 ( [id] => 12 [user_id] => 2 [followed_id] => 21 )

        [User] => Array
            (
                [id] => 21
                [username] => isabelle
                [mail] => isabelle@
                [password] => 0469e87ef6441742744443fd1fc10f6bf59ee238
                [created] => 2012-04-24 15:28:07
                [lastlogin] => 2012-11-30 17:22:24
                [active] => 1
                [firstname] => Isabelle
                [lastname] =>
                [avatar] => 1335274087.jpg
                [age] => 29
                [town] => Paris
                [url] => 
                [Actu] => Array
                    (
                        [0] => Array
                            (
                                [id] => 2
                                [user_id] => 2
                                [content] => <a href="/users/view/2">rti</a> a post&eacute; un message sur la page <a href="/events/view/4"></a>
                                [created] => 2012-11-30 11:23:23
                            )
于 2012-12-04T13:44:02.107 に答える