0

在 CakePHP 文档中,他们实现了如下!

class Message extends AppModel {
    public $belongsTo = array(
        'Sender' => array(
            'className' => 'User',
            'foreignKey' => 'user_id'
        ),
        'Recipient' => array(
            'className' => 'User',
            'foreignKey' => 'recipient_id'
        )
    );
}

class User extends AppModel {
    public $hasMany = array(
        'MessageSent' => array(
            'className' => 'Message',
            'foreignKey' => 'user_id'
        ),
        'MessageReceived' => array(
            'className' => 'Message',
            'foreignKey' => 'recipient_id'
        )
    );
}

但这对我不起作用!并给我一些错误,即未找到用户模型中的某些表!如果我使用 HasMany 的名称与模型的名称相同,这将起作用!

4

1 回答 1

0

经过一些谷歌搜索失败!我只是去最简单的方法!

public $hasMany = array(


     'Follow_me'=>array(
         'className'=>'Friend',
         'foreignKey'=>'user_to' ,
             ) , 

      'Follow_them'=>array(
         'className'=>'Friend2',
         'foreignKey'=>'user_from'
      ) );

这是用户模型和类用户

现在是朋友模型

   public $belongsTo = array(


      'User'=>array(
         'className'=>'User',
         'foreignKey'=>'user_from' , 
        ) , 


   );

朋友圈将是

编号 || 用户来自 || 用户名 || 已创建 || 修改的

现在用最简单的方法!创建一个名为 Friend2 的新模型类

public $useTable = 'friends';
   public $belongsTo = array(


      'User'=>array(
         'className'=>'User',
         'foreignKey'=>'user_to' , 

      ) , 


   );

现在 !!当您从用户模型中获取数据时,数据将是这样的

array(
    (int) 0 => array(
        'User' => array() ,
                'Follow_me' => array() ,
              'Follow_them' => array() , 
              'Some_Other_Relations_Goes_here' => array() 
) )

希望这会对大家有所帮助

于 2013-05-17T21:46:59.637 回答