我是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;
但这会产生问题,因为它们都具有相同的名称和验证也无济于事。请提供任何解决方案。
提前致谢。
答案 0 :(得分:1)
使用scenario`s卢克。
方案是一种非常有用的工具,用于在使用从CModel派生的任何类上分离验证任务。在本教程中,我们将使用CActiveRecord。
答案 1 :(得分:1)
对于此特定任务,您需要使用其他人提到的方案。Understanding Scenarios。一旦在model
中定义了这些,您只需要创建具有所需方案的类的实例
例如你可以做
$studentModel = new student('pregrad');
$studentModel = new student('grad');
$studentModel = new student('postgrad');
当使用相同的$studentModel
验证表格进行渲染时会有所不同