2012-05-25 1 views
0

Я пытаюсь создать сайт социальной сети, где пользователь может отправить/получить запрос друга. В нашей текущей системе, когда пользователь отправляет запрос, половина необходимой информации сохраняется в базе данных, а затем, когда пользователь принимает остальную информацию для остальных, вводится.CakePHP HABTM проблема связи

таблица relationships_users это идентификатор, partyone, partytwo, ExpiryDate, активный

проблема им с это когда пользователь принимает запрос и помещает в даты истечения срока, его вставить в новый столбец - не в колонке относящийся к этому пользователю

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

Ваш пост не проблема в целом, но и то, что я понимаю, что вы должны выполнить несколько шагов, описанных ниже:

  • Когда первая половина информации сохраняется в Relationship таблицы, то вы должны получить id этой записи и вы можете получить, как следующее:

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

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

  • Тогда вы должны встроить эту $lastId с остаток информации в последней половине после подтверждения запроса. Если вы можете вставить этот идентификатор во вторую половину информации, которая находится в пределах $this->request->data, то $this->Relationship->save($this->request->data) обновит предыдущую сохраненную строку. В этом случае вам не нужно $this->Relationship->create();.

    В соответствии с cakePHP, если какие-либо данные содержат в нем id, то вместо создания новой строки и сохранения она обновит соответствующую строку с id.