CakePHP-HABTM关系问题

CakePHP-HABTM关系问题,cakephp,has-and-belongs-to-many,relationships,Cakephp,Has And Belongs To Many,Relationships,我正在尝试创建一个社交网络类型的网站,用户可以在其中发送/接收好友请求。在我们当前的系统中,当用户发送一个请求时,所需信息的一半存储在数据库中,然后当用户接受其余信息时,其余信息被输入 用户关系表为id、partyone、partytwo、expirydate、active 我遇到的问题是,一旦一个用户接受了一个请求并输入了一个到期日,它就会被插入到一个新的列中,而不是与该用户相关的列中 here is my add function if($this->request->

我正在尝试创建一个社交网络类型的网站,用户可以在其中发送/接收好友请求。在我们当前的系统中,当用户发送一个请求时,所需信息的一半存储在数据库中,然后当用户接受其余信息时,其余信息被输入

用户关系表为id、partyone、partytwo、expirydate、active

我遇到的问题是,一旦一个用户接受了一个请求并输入了一个到期日,它就会被插入到一个新的列中,而不是与该用户相关的列中

here is my add function

    if($this->request->is('post')){
    $this->Relationship->create(); 
    if ($this->Relationship->save($this->request->data)) 
    { 
        $this->Session->setFlash('The relationship has been saved');  

    }
    else { $this->Session->setFlash('The relationship could not be saved. Please, try again.'); } 
    } 

  }

here is my approve function

if($this->request->is('post')){
        $this->Relationship->create(); 
        $this->Relationship->save($this->request->data);
        $this->Session->setFlash('The information has been saved');}
        else{$this->Session->setFlash('The information couldnt be saved');}
我想我错过了一些简单的代码,任何帮助都将不胜感激
它被插入到一个新的专栏中,而不是与用户关系相关的专栏中*

你的文章根本就没有问题,但据我所知,你应该遵循下面描述的一些步骤:

当信息的前一半保存在关系表中时,您必须获得该条目的id,您可以得到如下结果:

$this->Relationship->save$this->request->data

$lastId=$this->Relationship->id;//will将为您提供保存的上半部分信息的id

然后,您必须将$lastId与其余信息(即请求确认后的后半部分)一起嵌入。如果您可以将该ID嵌入$this->request->data中的后半部分信息,那么$this->Relationship->save$this->request->data将更新先前保存的行。在这种情况下,您不需要$this->Relationship->create

根据cakePHP,如果任何数据中包含id,那么它将更新具有该id的对应行,而不是创建新行并保存