我正在尝试创建一个社交网络类型的网站,用户可以在其中发送/接收朋友请求。在我们当前的系统中,当用户发送请求时,所需信息的一半存储在数据库中,然后当用户接受其余信息时,输入其余信息。
relationships_users表是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');}
我假设我错过了一些简单的代码,任何帮助将不胜感激 它插入一个新列 - 而不是与该用户关系相关的列*
答案 0 :(得分: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
的相应行。