根据YII中的父表获取数组中的子行

时间:2012-01-10 17:01:08

标签: yii

学生表:

student_id名称
-------------- -----
1 aaaa
2 bbbb
3 cccc

科目表:

subject_id student_id sub1 sub2 sub3
----------- ---------- ----- ---- ----
1 1 30 40 60
2 1 40 13 88
3 1 50 76 45
4 1 40 65 87
5 2 30 34 78
6 2 40 54 76
7 2 70 45 67

一对多关系

我有学生名单。当我点击编辑学生1时

我希望在数组中获取与student1相关的所有子行。

我该怎么做任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

打开学生表的模型检查关系函数..

public function relations() {        
    return array(
        'subjects' => array(self::HAS_MANY, 'Subject', 'student_id'),
 ......
    );
 }

其中Subject是主题表的模型名称..

// List data need when populating dropdown from database values
<?php echo $form->dropDownList($model,'subject_id', CHtml::listData($model->subjects,'subject_id','subject_name'));?>

这里$ model是学生表单视图中学生的模型,listdata函数将列出学生的所有主题,dropDownList函数将下拉它们....,如果你在展示主题时很舒服通过id然后用subject_id替换subject_name,否则你需要的是主题表中的主题标题..

我希望我解决了你的问题..更多参考文献在yii文档中阅读了关系,下拉列表和listdata。