0

やあみんな、私はあなたの助けを求めています。申請者は場所を申請し、詳細は申請者テーブルに保存され、デフォルトの待機ステータスが与えられます。管理者は、承認または拒否のいずれかを待っている申請者フォームを受け入れます。学生が受け入れられると、彼の詳細は自動的に学生テーブルに保存されます。申請者テーブルと学生には共通の26のフィールドがあり、国民IDは両方のテーブルで共通で一意ですが、どちらのテーブルでも主キーではありません。

a)この場合、学生への申請者を承認し、学生の詳細に彼らの詳細を投稿することは可能ですか?

b)これら2つのテーブルをリンクするにはどうすればよいですか?Cakephpの主キーではない一意のキーでテーブルをリンクすることは可能ですか?

c)応募者の詳細から学生の詳細に詳細を転送するにはどうすればよいですか?

応募者の詳細から学生にデータを投稿するために、コントローラーでこれを試しましたが、致命的なエラーが発生しています。私はテストのために2つのフィールドだけを試しました。

if($this->request->data['submit']=='Approve') {
    $this->ApplicantsDetail->StudentDetail->set(array(
        'reg_number' => $regnumber,
        'code'=>$code
    ));
}

学生への応募者を承認するために、私は次のコードを使用しました

if($this->request->data['submit']=='Approve') { 
    $code=$this->request->data['ApplicantsDetail']['code'];

    for($k=0;$k<sizeof($this->request->data['ApplicantsDetail']['id']);$k++){
        $id=$this->request->data['ApplicantsDetail']['id'];
        $newcode=$this->ApplicantsDetail->ProgrammeChoice->find('list', array(
            'fields'=>array('applicants_detail_id','choice','programme_code'),
            'conditions'=>array('ProgrammeChoice.programme_code'=>$code,'ProgrammeChoice.choice'=>1)
        ));
        $tau1 = array('ApplicantsDetail.statu_id' => '1');
    }
}   
4

1 に答える 1

0

管理者がレコードを承認したら、必要に応じてIDまたはコードでそのレコードのデータを取得します-

$applicationData        = $this->ApplicantsDetail->findById($applicationId);

また

$applicationData        = $this->ApplicantsDetail->findByCode($applicationCode);

次に、次のように配列を作成します-

$studentData['StudentDetail'] = $applicationData['ApplicantsDetail'];

次に、レコードを学生テーブルに保存します。

$this->StudentDetail->save($studentData);
于 2012-07-17T11:31:18.850 に答える