不在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文档。