0

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

关系用户表是 id、partyone、partytwo、到期日、活动

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

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');}

我假设我错过了一些简单的代码,任何帮助将不胜感激将其插入新列 - 而不是与该用户关系相关的列*

4

1 回答 1

0

您的帖子完全没有问题,但据我所知,您应该遵循以下描述的一些步骤:

  • 当信息的前半部分保存在Relationship表中时,您必须获取id该条目的信息,您可以获得如下信息:

    $this->Relationship->save($this->request->data);

    $lastId = $this->Relationship->id; // will gives you id of first half info saved

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

    根据 cakePHP 的说法,如果其中包含任何数据id,那么它不会创建新行并保存,而是会更新具有该id.

于 2012-05-25T04:35:09.040 回答