加入Cakephp中的表格

时间:2013-02-28 01:09:46

标签: cakephp

我有一张两张桌子;历史和用户。我需要显示如下数据:


id |用户名|最新创建的帖子|首先创建了帖子

id和username的数据来自users表,最后创建和首次创建的帖子数据来自历史。我需要查看所有用户,他们最新创建的帖子和他们的第一个创建的帖子。请帮我制作控制器并查看谢谢

2 个答案:

答案 0 :(得分:0)

请尝试以下。

<?php
    $users = $this->User->find('all',array
    (
        'conditions' => array
        (
            //conditions goes here
        ),
        'fields' => array
        (
            'User.id',
            'User.username',
            'History.Lastest created Post',
            'History.First created Post'
        )
    ));
?>

答案 1 :(得分:0)

假设“用户”和“历史记录”表格之间的关系是一对一的,并且历史记录表格中有一个“user_id”列,您可能需要在历史模型,例如:

   var $hasOne = array(
     'User' => array(
            'className' => 'User',
            'foreignKey' => 'user_id',
            'conditions' => '',
            'fields' => '',
            'order' => ''
       )
    );

然后,您需要执行joins来执行此操作。例如,在用户模型中的某处,尝试以下内容:

 class User extends AppModel {    

        ....  

       function getAllUsersHistory{

             $allHistories = $this->find('all', array(
                'joins' => array(
                    'table' => 'history',
                    'alias' => 'HistoryJoin'
                    'type' => 'INNER',
                    'conditions' => array(
                        // your conditions, for example: 'History.user_id' => 'User.id'
                    )
                ),  
                'fields' => array(
                    'User.id', 
                    'User.username', 
                    'History.lastest_created_post', 
                    'History.first_created_post'
                )           
             ));   

          return $allHistories; 

         }

         .....

    }