CakePhp属于关系问题

CakePhp属于关系问题,cakephp,Cakephp,我有两个模型的配置文件和消息。当我试图获取其控制器中的所有消息时,cake不会在结果数组中返回任何概要文件。 在消息控制器中: $this->Message->recursive=3; $m=$this->Message->find('all'); 型号: class Message extends AppModel { var $name = 'Message'; var $primaryKey = 'id'; var $useTable = 'message

我有两个模型的配置文件和消息。当我试图获取其控制器中的所有消息时,cake不会在结果数组中返回任何概要文件。 在消息控制器中:

$this->Message->recursive=3;
$m=$this->Message->find('all');
型号:

class Message extends AppModel {    
var $name = 'Message';
var $primaryKey = 'id';
var $useTable = 'messages';
var $belongsTo = array(
  'Profile' => array(
   'className' => 'Profile',
   'foreignKey' => 'author_id',
   'conditions' => '',
   'fields' => '',
       'order' => ''
  ));

另外,我等不了7个小时才有答案。 我最终找到了解决方案,我的消息模型文件名是messageS.php,当我把它重命名为Message.php时,我得到了我所需要的一切。我认为,根据您的回答,它有助于某人(但也与其他人相关),如果您非常确定您的关联是正确的,那么下一步就是检查您的文件名以确保它们是正确的(单数模式)


另一个注意事项是,如果您使用的是递归3(不知道它比2高,但显然它比2高),那么使用CakePHP可能会更好。即使使用递归函数2,通常也是多余的。

在Message.php模型文件中写入:

var$belongsTo=数组(

“Profile”=>数组(

)))


写入Profile.php模型文件:

var$hasMany=array(

'消息'=>数组(

)))


控制器:

$m=$this->Message->find('all')

现在工作很好…享受

 class Profile extends AppModel {   
    var $name = 'Profile';
    var $primaryKey = 'id';
    var $useTable = 'profiles';
    var $belongsTo = array(
  'Account' => array(
   'className' => 'Account',
   'foreignKey' => 'account_id',
   'conditions' => '',
   'fields' => '',
   'order' => ''
  ));
  var $hasMany = array(
      'Message' => array(
           'className' => 'Message',
           'foreignKey' => 'Author_id',
           'dependent' => false,
           'conditions' => '',
           'fields' => '',
           'order' => '',
           'limit' => '',
           'offset' => '',
           'exclusive' => '',
           'finderQuery' => '',
           'counterQuery' => ''
      ));
'className' => 'Profile',

'foreignKey' => 'author_id',

'conditions' => '',

'fields' => '',

'order' => ''
   'className' => 'Message',

   'foreignKey' => 'Author_id',  // Hear you "Author_id" should change as "author_id"

   'dependent' => false,

   'conditions' => '',

   'fields' => '',

   'order' => '',

   'limit' => '',

   'offset' => '',

   'exclusive' => '',

   'finderQuery' => '',

   'counterQuery' => ''