1

学生がドロップダウンリストを使用して科目を入力するフォームがあります。ドロップダウン リストは、テーブルからサブジェクトを取得します。このドロップダウンを検証して、生徒が科目を 1 回だけ選択できるようにしたいと考えています。対象はループされています。これどうやってするの?

私のコントローラー

for ($i = 1; $i < sizeof($this->data['ApplicantOlevelQualification']['olevel_subject_code']); $i++) {

                if ($this->data['ApplicantOlevelQualification']['olevel_subject_code'][$i] != "") {
                    $this->ApplicantOlevelQualification->create();
                    $this->ApplicantOlevelQualification->id = null;
                    $this->ApplicantOlevelQualification->set(array(
                            'applicants_detail_id' => $app_id,
                            'olevel_subject_code' => $this->data['ApplicantOlevelQualification']['olevel_subject_code'][$i],
                            'grade' => $this->data['ApplicantOlevelQualification']['grade'][$i],
                            'mark' => $this->data['ApplicantOlevelQualification']['mark'][$i],
                            'centre_number'=> $centre_number, 
                            'candidate_number'=> $candidate_number, 
                            'exam_body_code'=> $exam_body_code,
                            'year_written'=> $year_written,

                        )
                    );

私の add.ctp

echo "<tr><td>" . $this->Form->label('Subject: ');
        echo "</td><td>";
        echo $this->Form->select("ApplicantOlevelQualification.olevel_subject_code.$s",$mySubjects);
        echo "</td><td>";

モデル

 'olevel_subject_code' => array(
        'numeric' => array(
            'rule' => array('valids'),
                        ),
    ),
4

1 に答える 1

0

これは、ドロップダウン リストに GROUP BY を追加することで一意にすることができます

$subjects = $this->ApplicantOlevelQualification->OlevelSubject->find('list',array('fields'=>‌​array('code','name'),'group'=>array(code))); 
于 2012-07-05T09:37:09.863 に答える