【问题标题】:Cakephp: Validation of elements in an arrayCakephp:验证数组中的元素
【发布时间】:2023-03-10 11:14:01
【问题描述】:

我有一个表格,学生可以使用下拉列表输入科目。下拉列表从表中获取主题。我想验证这个下拉列表,以便学生只选择一次主题。主题正在循环播放。我该怎么做?

我的控制器

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'),
                        ),
    ),

【问题讨论】:

  • 您应该使下拉主题由 $mySubjects 唯一。能否展示一下 $mySubjects 的代码,它是从哪里来的?
  • 感谢您回复 Moyed。添加.ctp $mySubjects = $subjects;控制器 $subjects = $this->ApplicantOlevelQualification->OlevelSubject->find('list',array('fields'=>array('code','name')));

标签: validation cakephp cakephp-2.1 cakephp-model


【解决方案1】:

这可以通过在下拉列表中添加 GROUP BY 来唯一

$subjects = $this->ApplicantOlevelQualification->OlevelSubject->find('list',array('fields'=>‌​array('code','name'),'group'=>array(code))); 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多