不在Cakephp中工作的关联

不在Cakephp中工作的关联,php,cakephp,cakephp-2.0,Php,Cakephp,Cakephp 2.0,我有下列表格 文章 Id标题描述图片作者已发布并创建 /** * Model de usuários */ class User extends AppModel { public $name = 'User'; /** * Regras de validação * * @var array */ public $validate = array(); } 评论 Id用户Id文章Id创建的文本 /** * Model de u

我有下列表格

文章


Id标题描述图片作者已发布并创建

/**
* Model de usuários
*/
class User extends AppModel {

    public $name = 'User';

    /**
    * Regras de validação
    *
    * @var array
    */
    public $validate = array();

}
评论


Id用户Id文章Id创建的文本

/**
* Model de usuários
*/
class User extends AppModel {

    public $name = 'User';

    /**
    * Regras de validação
    *
    * @var array
    */
    public $validate = array();

}
使用者


Id登录名电子邮件通行证

/**
* Model de usuários
*/
class User extends AppModel {

    public $name = 'User';

    /**
    * Regras de validação
    *
    * @var array
    */
    public $validate = array();

}
我希望文章评论相关,评论用户相关,但我不能。但我有以下模型

/**
* Model de usuários
*/
class User extends AppModel {

    public $name = 'User';

    /**
    * Regras de validação
    *
    * @var array
    */
    public $validate = array();

}
文章

<?php

/**
* Model de artigos
*/
class Article extends AppModel {

    public $name = 'Article';

    public $hasMany = array(
                            'Comment' => array(
                                                'className' => 'Comment',
                                                'dependent' => false,
                                                'fields' => array('Comment.user_id','Comment.created','Comment.text'),
                                                'foreignkey' => 'article_id',

                                                )
                            );

    /**
    * Regras de validação
    *
    * @var array
    */
    public $validate = array();

    /**
    * Lista dos artigos mais recentes
    *
    * @param int $limit Quantidade de artigos
    * @param array $params Parâmetros extras de busca
    *
    * @return array
    */
    public function recent($limit = 5, $params = array()) {
        $params = Hash::merge(array(
        'conditions' => array('Article.published' => true),
        'order' => array('Article.created' => 'DESC'),
        'limit' => $limit
        ), $params);

        return $this->find('all', $params);
    }

}
/**
* Model de usuários
*/
class User extends AppModel {

    public $name = 'User';

    /**
    * Regras de validação
    *
    * @var array
    */
    public $validate = array();

}

我只能将文章评论关联,但我不能将评论用户关联。我需要做什么?谢谢您的帮助。

您需要将
$hasMany
添加到用户模型中

/**
* Model de usuários
*/
class User extends AppModel {

    public $name = 'User';

    /**
    * Regras de validação
    *
    * @var array
    */
    public $validate = array();

}
/**
* Model de usuários
*/
class User extends AppModel {

    public $name = 'User';
    public $hasMany = array(
        'Comment' => array(
            'className' => 'Comment',
            'dependent' => false,
            'fields' => array('Comment.user_id','Comment.created','Comment.text'),
            'foreignkey' => 'user_id',
        )
    );
    /**
    * Regras de validação
    *
    * @var array
    */
    public $validate = array();

}
如果您想从
Article
模型中的
recent()
方法查询文章、评论和用户,您应该在
$params
数组中将
recursive
属性设置为
2
。查看CakePHP文档。