0

ユーザーが友達リクエストを送受信できるソーシャル ネットワーキング タイプの Web サイトを作成しようとしています。現在のシステムでは、ユーザーが要求を送信すると、必要な情報の半分がデータベースに保存され、ユーザーが残りの情報を受け入れると、残りの情報が入力されます。

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

私はいくつかの簡単なコードを見逃したと仮定して、そのユーザー関係に関連する列ではなく、新しい列に挿入された助けをいただければ幸いです*

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 に答える