cakephp复杂的发现

时间:2012-12-03 23:07:07

标签: cakephp find

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

我创建了这些表

用户
ID
用户名
创建

遵循
ID
USER_ID
follow_id

行为致
ID
USER_ID
内容
创建

模型用户与Hasmany合资公司的Follow and 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')))));
有人可以帮我吗?

提前谢谢

2 个答案:

答案 0 :(得分:0)

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

放 在Actus表中的follow_id然后跟随与Actus表相关的表并确认表名是Users

您需要像Follows hasmany Actus和Follows属于用户

这样的关联

如果你拥有所有正确的关联,那么你可以使用这个

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

请检查此

  1. 确保表名为Users
  2. 在Actus表中放入follow_id
  3. 确保关联

答案 1 :(得分: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
                            )