Cakephp 3.x将同一个表与连接表链接起来

时间:2015-12-21 12:06:02

标签: php mysql cakephp orm cakephp-3.0

这是我的模特

消息表:

message_id int, body varchar(50)

messages_replies表:

original_id int,reply_id int

正如您所看到的,我有一个消息表,每当用户写评论时,它都会保存在此处。但是当用户回复之前的评论时,我想在消息表中保存新评论,并在message_replies表中回复哪条评论。

我的问题是我不知道如何链接MessageTable.php中的表,因为它引用了同一个表。

这是我在MessagesTable.php中尝试过的:

$this->belongsToMany('Replies', [
          'className' => 'Messages',
            'foreignKey' => 'message_id',
            'targetForeignKey' => 'original_id',
            'joinTable' => 'messages_replies'
        ]);

它在MessagesController.php中失败

public function index()
    {
        $messages = $this->Messages->find('all',['contain' => ['Replies']]);
        $this->set([
            'messages' => $messages,
            '_serialize' => ['messages']
        ]);
    }

0 个答案:

没有答案