0

当客户连接时,我想找到有关关注用户的所有新闻(actus)。

我创建了这些表

用户
ID
用户名
创建

关注
id
user_id follow_id

Actus
id
user_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

这是结果

数组([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 回答
0

我认为您的关联需要修改(修改您的模型和表格)

将 follow_id 放入 Actus 表中,然后将相关表放入 Actus 表并确认表名是 Users

您需要像 Follows hasmany Actus 和 Follows 属于用户这样的关联

如果您拥有所有正确的关联,那么您可以使用 find 查询这样

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

请检查这个

  1. 确保表名是用户
  2. 将 follow_id 放入 Actus 表中
  3. 确保关联
于 2012-12-04T06:15:53.513 回答