1

我是 yii 的新手。我正在开发一个表格,其中我有一个注册表,我需要在其中获取学生的教育详细信息。这包括

                'Post Graduation',
                'Graduation' and 
                'Schooling' 

细节。每个都将具有通过年,资格等领域。

public function attributeLabels()
    {
        return array(
            'id' => 'ID',
            'user_id' => 'User',
            'qualification_id' => 'Qualification',
            'specialization_id' => 'Specialization',
            'pass_year' => 'Pass Year',
            'university_id' => 'University',
            'duration_from' => 'Duration From',
            'duration_to' => 'Duration To',
            'percentage_marks' => '% of Marks / GPA',
            'course_type_id' => 'Course Type',
            'awards' => 'Awards & Scholarships',
        );
    }

我如何使用相同的模型来创建相似的元素来分别获取这些详细信息

                'Post Graduation',
                'Graduation' and 
                'Schooling' 

我尝试为模型创建不同的对象并将它们包含在表单中。

    $postGraduate = new CandidateQualification;
    $graduate = new CandidateQualification;
    $preGraduate = new CandidateQualification;

但这会产生问题,因为它们都将具有相同的名称,并且验证也无济于事。请提供任何解决方案。

提前致谢。

4

2 回答 2

1

使用场景的卢克。

场景是一个非常有用的工具,用于在您使用的任何从 CModel 派生的类上分离验证任务。在本教程中,我们将使用 CActiveRecord。

于 2012-07-03T05:46:05.760 回答
1

对于此特定任务,您需要使用其他人提到的场景。了解场景。一旦你定义了这些,你model所需要的就是创建具有所需场景的类实例

例如你可以做

$studentModel = new student('pregrad');
$studentModel = new student('grad');
$studentModel = new student('postgrad');

并且当使用相同的验证渲染表单时$studentModel会有所不同

于 2012-07-03T06:23:00.580 回答