I’m trying to create a social networking type of website where a user can send/receive a friend request. In our current system when a user sends a request half the required information is stored in the database then when a user accepts the rest of the information for the rest is inputted.
the relationships_users table is id, partyone, partytwo, expirydate, active
the problem im having is once a user accepts a request and puts in an expiry date, its inserted in a new column – not in the column relating to that user
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');}
im assuming I’ve missed some simple code, any help would be appreciated
its inserted in a new column – not in the column relating to that users relationship*
Your post doesn’t the problem at whole, but what I understand you should follow some steps described below:
When first half of the info saved in
Relationshiptable then you have to get theidof that entry and you can get like following:$this->Relationship->save($this->request->data);$lastId = $this->Relationship->id; // will gives you id of first half info savedThen you have to embed that
$lastIdwith the rest of the info i.e last half after request confirmation. If you can embed that ID to the second half info that is within$this->request->data, then$this->Relationship->save($this->request->data)will update the previous saved row. In that case, you don’t need$this->Relationship->create();.According to cakePHP, if any data contains
idwithin it, then instead of creating new row and save, it will update the corresponding row having thatid.